【发布时间】:2014-08-25 03:12:15
【问题描述】:
当我的脚本运行start() 函数时,该函数调用saveLoadedChunk() 函数,该函数调用writeChunks() 函数,我在文本文件中看到的只是Chunk(0,0,0)。
需要发生的是,在文本文件中,每个块都用他的坐标写入(但只有一次)。我写了以下脚本,但它只写(就像我之前说的)Chunk(0,0,0)。
有没有人可以调整此代码或给我一些帮助,以便脚本写入文件中的所有块,但只有 1 次。
非常感谢您的帮助。
部分脚本
function saveLoadedChunk() {
var loadedChunks : GameObject[] = FindObjectsOfType(GameObject) as GameObject[];
var fileName = "C:/Reactor Games/chunks.txt";
for (var i = 0; i < loadedChunks.length ; i++) {
if(loadedChunks[i].name.Substring(0,5) == "Chunk") {
if(loadedChunks[i].tag == "Player") {
}else{
if(System.IO.File.Exists(fileName)) {
Debug.Log("EXIST");
var xco1 = loadedChunks[i].transform.position.x;
var yco1 = loadedChunks[i].transform.position.y;
var zco1 = loadedChunks[i].transform.position.z;
writeChunks(fileName, xco1, yco1, zco1);
}else{
Debug.Log("NOTEXIST");
var sr = System.IO.File.CreateText(fileName);
var xco2 = loadedChunks[i].transform.position.x;
var yco2 = loadedChunks[i].transform.position.y;
var zco2 = loadedChunks[i].transform.position.z;
writeChunks(fileName, xco2, yco2, zco2);
}
}
}
}
}
function writeChunks(fileName : String, xco : int, yco : int, zco : int) {
var stringToWrite = "Chunk (" + xco + ", " + yco + ", " + zco + ")";
Debug.Log(stringToWrite);
var sw : System.IO.StreamWriter = new System.IO.StreamWriter(fileName);
sw.WriteLine(stringToWrite);
sw.Flush();
sw.Close();
}
【问题讨论】:
-
这是 unityscript,不是 javascript
标签: unity3d .net unityscript