好,我找到問題了,這問題點有點...咳咳,總之就是跟時間差有關係
我在一個事件當中生成一個人物,並接了一個儲存全域變數。
然後再另外一個事件弄 當角色進入戰場,且他的全域變數等於 0,就執行動作的事件。
其實不是我哪裡寫錯了,是第二個事件檢查的速度太快了,第二個事件檢查的速度,比上面儲存全域變數的速度還要快了一點,
所以其實他在檢查的時候,這個變數根本就不存在,這是我剛剛各種 log 之後發現的,我用角色說話顯示,跟在控制台顯示的結果不一樣。
我看到我明明 log 一樣的東西,結果卻不一樣,所以我又多 log 在其他地方。
這是在角色說話完之後 log 的,顯示 0,但我一開始覺得他沒有跟上面的同步,所以我把它改到說話之前顯示出來,結果卻又改變了。
他變得跟角色說話的內容一樣 undefined ,我就猜到是跟延遲有關了,因為角色說話有等待,我沒有取消,所以在角色說話後面的所有動作,都會被延遲
而所有經過延遲的動作,全部都顯示 0,包括我上面在控制台顯示的,也都是在說話之後,只有在角色說話之前 log 的都是 undefined,
所以我就在角色進入戰場的檢查加上了 1 ms 的延遲觸發,結果就成功。
嘛!總之還是謝謝你啦,我是因為想知道有 .code 跟沒有的差別所以才去多 log 的,如果你沒有提出來也許我也不會碰巧發現ˊˇˋ