我正在Unity中開發(fā)游戲,只是注意到有時會出現(xiàn)一個奇怪的錯誤。發(fā)生的事情是,我正在實例化的字符串數(shù)組創(chuàng)建的太短,即使我正在編寫的日志消息確認該表達式應該創(chuàng)建一個更大的數(shù)組。以下是相關的代碼段:Debug.Log("hero.power = " + hero.power.ToString());Debug.Log("allyPower = " + allyPower.ToString());Debug.Log("opponent.power = " + opponent.power.ToString());int max = Mathf.Max(hero.power + allyPower, opponent.power);report.flips[hero.name] = new string[hero.power + allyPower];report.flips[opponent.name] = new string[opponent.power];Debug.Log("max = " + max.ToString());Debug.Log("report.flips[hero.name].Length = " + report.flips[hero.name].Length.ToString());以及在Unity中創(chuàng)建的輸出:這表明hero.power是3和allyPower是,0但是創(chuàng)建了而不是string[3]創(chuàng)建string[1]。關于使用表達式確定引起問題的數(shù)組的長度,這有什么用嗎?我暫時更改為:int heroArrayLength = hero.power + allyPower;report.flips[hero.name] = new string[heroArrayLength];它似乎有所幫助,盡管該錯誤以前是不穩(wěn)定的,所以我不確定它是否已修復。即使是這樣,我仍然不清楚真正的原因是什么。有人知道這里發(fā)生了什么嗎?
- 1 回答
- 0 關注
- 320 瀏覽
添加回答
舉報
0/150
提交
取消