我正在努力通过 Unity 扔球并获取球的坐标。应用了两件事:一个用于身体动作的脚本和一个用于落球的脚本。我认为这两个代码的运行没有问题。因为当我将脚本应用于一个球时没有问题。顺便说一句,当球的数量增加到 100 个时,Unity 就会停止。我带来了整个代码中我认为会有问题的部分:
//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。
它冻结是因为你试图在一个框架中完成很多工作。为什么要为每个位置和游戏对象创建一个文件是没有意义的。也许您正在尝试记录某些内容?
如果您尝试记录某些内容,我建议您记录到一个简单的文件,而不是多个文件。它对于您的应用程序和调试时间来说效率不高。
对于日志记录,您可以使用字符串生成器 https://learn.microsoft.com/en-us/dotnet/api/system.text.stringbuilder?view=net-5.0。在 Start/Awake 方法中初始化 StringBuilder 对象。StringBuilder sb = new StringBuilder();
。每次您想向日志添加内容时,请执行以下操作sb.Append("A log");
.
现在要保存,就可以保存了OnDisable()
or OnApplicationQuit()
。保存 -
System.IO.File.WriteAllText("FILE_PATH", sb.ToString());
我希望这有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)