我正在努力通過 Unity 丟球并獲取球的坐標。應用了兩件事:一個用于身體動作的腳本和一個用于丟球的腳本。我不認為這兩個代碼的操作有問題。因為當我將腳本應用于一個球時沒有問題。順便說一下,當球數增加到 100 時,Unity 停止。我帶來了整個代碼中我認為會有問題的部分:
if (Input.GetKeyUp("space"))
{
string name = this.gameObject.ToString();
string num = name.Split('(')[1];
//Debug.Log(transform.position.ToString());
Debug.Log(dir);
filepath = dir num transform.position.ToString();
Debug.Log(filepath);
File.Create(filepath);
}
我認為創建檔案的部分有問題。我像這樣修復了那個部分:
FileStream fs = File.Create(filepath);
fs.Dispose();
應用這個后,我玩的時候有輕微的移動,但后來又停止了。我必須強迫自己通過作業經理結束才能使用我的 Unity。我能得到幫助嗎?由于我是初學者,如果您能用簡單的語言解釋一下,我將不勝感激。我的專案版本是2018.4.36f1。
uj5u.com熱心網友回復:
它凍結是因為您試圖在一幀中完成大量作業。為什么要為每個位置和游戲物件創建一個檔案是沒有意義的。也許你想記錄一些東西?
如果你想記錄一些東西,我建議你登錄一個簡單的檔案,而不是多個檔案。它對您的應用程式和除錯時間都沒有效率。
對于日志記錄,您可以使用String Builder。在啟動/喚醒方法中初始化您的 StringBuilder 物件。StringBuilder sb = new StringBuilder();. 每次您想向日志中添加內容時,請執行sb.Append("A log");.
現在為了保存,您可以保存它OnDisable()或OnApplicationQuit(). 保存 -
System.IO.File.WriteAllText("FILE_PATH", sb.ToString());
我希望服務。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/339686.html
