我只是Flash的初學者,我無法解決這個問題。閃存執行循環 - 每擊一次只帶走一次健康
我該如何讓每個命中的動作只執行一次?
這是我的代碼:
stage.addEventListener(Event.ENTER_FRAME,loop);
function loop (event:Event):void
{
for (var i:int = hBottleArray.length-1; i >= 0; i--){
if (runner.hitTestObject(hBottleArray[i])){
health++;
hBottleArray.removeAt(i);
}
}
for (var i:int = killerarray.length-1; i >= 0; i--){
if (runner.hitTestObject(killerarray[i])){
health--;
killerarray.removeAt(i);
sign1.x-=40;
tip1.x-=40;
bg.x-=40;
secretmessage.x-=40;
healthbottle1.x-=40;
killer.x-=40;
killer2.x-=40;
killer3.x-=40;
platform.x-=40;
}
}
if (bg.x>327)
{
sign1.x-=40;
tip1.x-=40;
bg.x-=40;
secretmessage.x-=40;
healthbottle1.x-=40;
killer.x-=40;
killer2.x-=40;
killer3.x-=40;
platform.x-=40;
}
}
結果: 它是一種警告,並在輸出面板中的另一個錯誤.. 警告3596:重複的變量定義。 OUTPUT PANEL:TypeError:錯誤#1006:removeAt不是函數。 在ObstacleCourse_fla :: MainTimeline /環路()
請幫助如何解決
FOR NEAL DAVIS我使用Flash播放器11.2 r2o2
請大家注意,這是不我整個腳本
如果您使用的是Flash Player,則使用哪個版本?這是一個Air應用程序嗎?要使用removeAt,您需要Flash播放器19或更高版本或Air 19或更高版本。如果您使用的是舊版本,請根據我對此的評論進行升級或使用'.splice'。 –