我正在使用ActionScript 2.0製作一個非常簡單的基於回合的戰鬥遊戲。有沒有一種簡單的方法可以讓影片剪輯在Flash中識別自己? (AS2)
我很新的代碼,只有非常有限的Visual Basic知識,所以我會高興地承認,我真的不知道我在做什麼。我有一個開始,但我決定重寫整個事情,因爲我無法輕鬆地循環敵人和關卡。
我使用_root.attachMovie生成了兩次相同的敵人,並將它們識別爲Enemy1
和Enemy2
。產卵他們之後,我試圖讓他們找出自己與:
_root.Enemy1.identify = "Enemy1"
_root.Enemy1.identify = "Enemy1"
使用調試器,這顯然作品(影片剪輯中,他們有一個叫做識別正確標註這些變量),但是當我嘗試使用一個if語句,所以我可以把它們放在自己的個人職位上,這根本行不通;它直掠過去。影片剪輯中的代碼我已經是:
if (identify == "Enemy1") {
function poschange() {
_root.Enemy1._x = _root.Enemy1.POSX;
_root.Enemy1._y = _root.Enemy1.POSY;
_root.Enemy1.swapDepths(_root.Enemy1.POSY);
}
} else if (identify == "Enemy2") {
function poschange() {
_root.Enemy2._x = _root.Enemy2.POSX;
_root.Enemy2._y = _root.Enemy2.POSY;
_root.Enemy2.swapDepths(_root.Enemy2.POSY);
}
}
poschange();
的poschange功能工作正常的玩家角色,它只是這個if語句來識別敵人這顯然是失敗。
是否有一個影片剪輯,以確定自己的ID任何更簡單的方法,所以我沒有用這種方法,還是有隻是一些錯我的代碼?
腳本切換敵人的運動中有自己的處理這就是爲什麼我粗暴地使用「識別」的原因,所以它知道它實際上必須移動哪個影片剪輯(在我的情況下,例如說,使用同一個敵人兩次)。無論如何,非常感謝!這幫助了絕對的噸,它現在完美。 – Odzs
很高興它的工作原理很多,但我也建議你儘可能地轉向AS3。如果你是一個經驗豐富的AS2人員,這很難改變,但如果你剛剛開始,那麼直接進入AS3會更好,原因很多。它更加標準,你在其中編程的方式會非常適合其他語言,比如Javascript和基於ECMAScript的其他語言。 – seaders