我有一些带有短语的文本文件(答案)。例如,在一个文本文件中,我有150个短语。我正在进行一个钓鱼游戏。在你捕到一条鱼后,会出现一个回复(来自文本文件)并出现在屏幕中间。我想如果我将我的文本文件放在Assets文件夹中,那么一切都会好的。但是没有! :(
这是我的代码,我返回我的行(答案):
public string filename333 = "try.txt";
public string getRandomMessagefromRechin()
{
var sr = new StreamReader(Application.dataPath + "/" + fileName1);
var fileContents = sr.ReadToEnd();
sr.Close();
var mydata = fileContents.Split("\n"[0]);
var myrandom = Random.Range(1, mydata.Length);
return mydata[myrandom];
}
在PC上,当我按下PLAY按钮时,它工作正常,这是一张图片:
对于文字很抱歉,它是我文本文件中的随机行。问题出在我在平板电脑或Android手机上构建项目之后。我的文本文件的答案没有显示在我的屏幕上。 我想尝试使用字典或字符串列表的另一种方法,但是如何在文件中的文本列表中放置150多行呢?
我有另外一个问题:
1.为什么我的方法不起作用?(我想我的文本文件没有被构建,或者没有放在项目的正确文件夹中)
2.我可以尝试加载我的行(答案)的另一种方法吗?
3.由于这个问题,我有另一个场景。在你看到一条金鱼之后,出现一个转换(屏幕变黑,然后屏幕恢复正常),当你可以玩的时候会出现一个运气轮,就像一个轮盘赌这个场景没有加载到我的Android设备上。为什么呢?
答案 0 :(得分:0)
它需要位于Resources文件夹中。 Unity会将其视为" TextAsset"。 一旦你建立,它将是只读的。
您将需要使用这样的函数在New Lines上分割文件的内容并返回字符串列表。
#mapdiv{top:0vh;left:0vw;height:100vh; width:100vw;vertical-align: top;}
body{margin:0px;padding:0px;}
#mapdiv{padding:1px;}
.text-center {padding:1px;}
::-webkit-scrollbar {
display: none;
}
您还需要像其他资源一样加载
private List<string> TextAssetToList(TextAsset ta) {
return new List<string>(ta.text.Split(System.Environment.NewLine));
}