我可能有點麻煩我假設只是一個簡單的 錯誤,但我找不到解決方案,甚至更糟糕的錯誤, 現在我想要做的是通過循環加載我的文件夾中的所有文件直到最大數達到Unity3D中的循環功能(0 + 1 = 2)?
IEnumerator loadData()
{
Debug.Log (loadNum);
if (File.Exists (Application.persistentDataPath + "/data[" + loadNum + "].octa")) {
BinaryFormatter loadData = new BinaryFormatter();
FileStream dataFile = File.Open (Application.persistentDataPath + "/data[" + loadNum + "].octa", FileMode.Open);
playerData pData = (playerData)loadData.Deserialize (dataFile);
dataFile.Close();
name_O = pData.name;
job_O = pData.job;
difficulty_O = pData.difficulty;
rawAPD = name_O + "/" + job_O.ToString() + "/" + difficulty_O.ToString();
APD = new string[loadNum += 1];
for (var i = 0; i <= loadNum && i < loadNum; i++)
{
if (APD [i] == null)
{
APD [i] = rawAPD;
}
break;
}
yield return new WaitForSeconds (1);
if (loadNum != numOfSaveFile_O)
{
Debug.Log ("meh");
loadNum += 1;
reLoop();
}
}
else
{
if (loadNum != numOfSaveFile_O)
{
loadNum += 1;
reLoop();
}
}
}
void reLoop()
{
StartCoroutine (loadData());
}
現在一切工作的偉大產量事情 數量從0到2 這裏我有data[0]
和文件在我的持久性數據路徑的情況下跳後如預期
到底是什麼問題嗎?如果一切按預期工作......你爲什麼要求幫助? –
你的循環結構似乎...太複雜。爲什麼你不迭代,直到一個條件爲真,並且一路上產生結果,如果這就是你真正想要做的事情?除此之外,你實際要問的東西還不清楚,你的代碼引用了實際上並不存在的各種狀態 - 你應該考慮創建一個[SSCCE](http://sscce.org/)這表明問題,而不是張貼您的應用程序的這個片段。 –
很確定這是你的問題:'APD = new string [loadNum + = 1]',但你也有'loadNum + = 1;'。順便說一句,我不知道你可以在數組聲明中分配變量,但我只是測試它,它的工作原理。 – Quantic