C .
ODE
G
AMELET
Focus Issue
CG同人陣變數的比較
cook1470 opened 8 months ago 9
會不會是其他地方出了問題
我已經反反覆覆測試了好幾次,我找不出其他原因了,其實也不只有這次有發生這個問題,
之前有不少專案,變數比較的部分都有一些問題,所以上來問一下到底發生了什麼事情ˊˋ
你這個instance是甚麽?
光暈的角色代碼,log 出來大概是下面那樣。

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

 
嘛!總之還是謝謝你啦,我是因為想知道有 .code 跟沒有的差別所以才去多 log 的,如果你沒有提出來也許我也不會碰巧發現ˊˇˋ
按鍵檢查後接id
 
其他檢查用code
這個我知道,不過上面的問題跟那個比較沒有關係。
 
一開始的問題,即使後面接 .code 同樣會出現,詳細就是上面說的。
Items per page:
1 - 8 of 9
ⒸCode.Gamelet.com | Privacy Policy | Terms of Service