看板 GameDesign 關於我們 聯絡資訊
var effects: Effect[] effects=new Effect[100]; print(effect[0]); 執行結果,輸出Null。正常 遊戲過程effects的內容有經過修改(也許這過程是關鍵,但後面更怪) 再次執行(單純中止後再次執行), 第三行print變成是Effect,導致很多判斷失靈。 最奇怪的是,重新啟動unity,print又變回Null了 也就是原本有不明bug,會使兩次執行時,相同程式的輸出不一樣。 重開就暫時解決。 沒有po全部的原始碼,因為整個過程有點複雜, 不知道能不能先針對此狀況給點意見? 不行的話我再po完整一點 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.8.181
chchwy:聽起來有點玄 不知道有沒有其他code? 02/17 12:37
chchwy:簡單的解法就是全部手動初始為null 02/17 12:38
cowbaying:編譯器的BUG吧 有試過轉成執行檔試試看嗎? 02/17 14:52
發現問題了,一般狀態執行都正常, 但只要Inspector視窗出現那段code所在的component, 原本print是null的陣列馬上變成Effect。 等於是我甚麼都沒做,僅僅點一下editor上的物件, 視窗上一出現那個component就出問題了。 現在看似解決了,因為我宣告時加了private。 只要Inspector視窗看不到那個陣列,似乎就沒問題...... (當初就是為了方便用inspector監看才先沒用private,沒想到這就是問題@@) ※ 編輯: madturtle 來自: 59.124.8.181 (02/17 17:07)
Ebergies:Inspector 本來就會幫你初始化 02/21 17:45