unity3d c#输入快速归档

时间:2017-06-08 21:24:22

标签: c# unity3d system.io.file

我想将我输入的内容保存到文本文件中。下面的代码可以工作但是当我输入太快时,文件没有时间包含所有输入的字符。 有人会就如何解决这个问题提出建议吗?

using System.IO; 

string inp;

void Update () 
{
    if
    (
        Input.anyKeyDown
    )
    {

        inp=inp+(string)Input.inputString;

        string path="txt/txttst001.txt";

            File.WriteAllText
            (
                path, 
                inp
            );
    }
}

2 个答案:

答案 0 :(得分:0)

尝试使用StreamWriter:

using System.IO; 

string inp;

void Update () 

{
    if
    (
        Input.anyKeyDown
    )
    {

    inp=inp+(string)Input.inputString;

    string path="txt/txttst001.txt";

using (System.IO.StreamWriter file = new System.IO.StreamWriter(path,true)){
        file.Write(inp);
    }
}
}

有关StreamWriter的更多信息,您可以查看here

答案 1 :(得分:0)

尝试将固定时间步长更改为时间管理器中的较低值,并使用 FixedUpdate 而不是更新。

https://docs.unity3d.com/Manual/class-TimeManager.html