C# 构建Unity3D项目后文本文件为空
在运行时,我记录我希望在构建中回放的输入。因此,我在Resources目录下创建了一个txt文件,我在运行时使用StreamWriter在其中填充文本。在关闭项目后,内容将以场景模式保留在那里,但在构建和运行项目后不会保留。我在网上搜索了一段时间,但没有找到任何与我的问题有关的东西。我尝试使用StreamingAssets文件夹,但也没有成功。谢谢你的帮助C# 构建Unity3D项目后文本文件为空,c#,unity3d,build,system.io.file,C#,Unity3d,Build,System.io.file,在运行时,我记录我希望在构建中回放的输入。因此,我在Resources目录下创建了一个txt文件,我在运行时使用StreamWriter在其中填充文本。在关闭项目后,内容将以场景模式保留在那里,但在构建和运行项目后不会保留。我在网上搜索了一段时间,但没有找到任何与我的问题有关的东西。我尝试使用StreamingAssets文件夹,但也没有成功。谢谢你的帮助 if (!Directory.Exists("Assets/Resources/Recordings"))
if (!Directory.Exists("Assets/Resources/Recordings"))
{
Directory.CreateDirectory("Assets/Resources/Recordings");
}
if (!File.Exists("Assets/Resources/Recordings/Challenge1.txt"))
{
File.WriteAllText("Assets/Resources/Recordings/Challenge1.txt", "");
}
编辑:切换(模式)
记录方法:
private void Record(float time)
{
currentSequence.init ();
currentSequence.t = time;
// store only true boolean
foreach (KeyCode vkey in System.Enum.GetValues(typeof(KeyCode)))
{
if (Input.GetKey (vkey))
currentSequence.gK.Add (vkey);
if (Input.GetKeyDown (vkey))
currentSequence.gKD.Add (vkey);
if (Input.GetKeyUp (vkey))
currentSequence.gKU.Add (vkey);
}
currentSequence.mP = Input.mousePosition;
currentSequence.mWP = Camera.main.ScreenToWorldPoint (currentSequence.mP);
currentSequence.mSD = Input.mouseScrollDelta;
foreach (string virtualAxis in AxisList)
currentSequence.vA.Add (Input.GetAxis (virtualAxis));
foreach (string ButtonName in ButtonList)
{
if (Input.GetButton (ButtonName))
currentSequence.vB.Add (ButtonName);
if (Input.GetButtonDown (ButtonName))
currentSequence.vBD.Add (ButtonName);
if (Input.GetButtonUp (ButtonName))
currentSequence.vBU.Add (ButtonName);
}
// only write if something changed
if (AnyChange(oldSequence, currentSequence))
{
//Debug.Log (JsonUtility.ToJson (newSequence));
inputRecordStream.WriteLine (JsonUtility.ToJson (currentSequence));
oldSequence = currentSequence;
}
}
File.WriteAllText(“Assets/Resources/Recordings/Challenge1.txt”,”;
使用时,请确保包含要写入文件的数据。您只包含了“”,它不会将任何字符写入文件
要导入要在运行时使用的资产,可以使用。这将允许您在运行时访问unity脚本中的文件。您的文件challenge1.txt为空,正常情况下,您在其中写入“”。!哦,好的。因此,我没有将它们包括在构建中,我只是在其中创建了新文件。您知道如何将运行时创建的文本文件包含在构建中吗@法语是的,但显示更多代码..如何构建文本
private void Record(float time)
{
currentSequence.init ();
currentSequence.t = time;
// store only true boolean
foreach (KeyCode vkey in System.Enum.GetValues(typeof(KeyCode)))
{
if (Input.GetKey (vkey))
currentSequence.gK.Add (vkey);
if (Input.GetKeyDown (vkey))
currentSequence.gKD.Add (vkey);
if (Input.GetKeyUp (vkey))
currentSequence.gKU.Add (vkey);
}
currentSequence.mP = Input.mousePosition;
currentSequence.mWP = Camera.main.ScreenToWorldPoint (currentSequence.mP);
currentSequence.mSD = Input.mouseScrollDelta;
foreach (string virtualAxis in AxisList)
currentSequence.vA.Add (Input.GetAxis (virtualAxis));
foreach (string ButtonName in ButtonList)
{
if (Input.GetButton (ButtonName))
currentSequence.vB.Add (ButtonName);
if (Input.GetButtonDown (ButtonName))
currentSequence.vBD.Add (ButtonName);
if (Input.GetButtonUp (ButtonName))
currentSequence.vBU.Add (ButtonName);
}
// only write if something changed
if (AnyChange(oldSequence, currentSequence))
{
//Debug.Log (JsonUtility.ToJson (newSequence));
inputRecordStream.WriteLine (JsonUtility.ToJson (currentSequence));
oldSequence = currentSequence;
}
}