如果這是一個非常明顯的問題,請道歉。如何在計時器類中添加hitTestObject語句?
我想添加一個hitTestObject如果循環到迷你遊戲。 障礙物是一個數組中的3個項目,所有3個都是連續播放1秒計時器類延遲的影片剪輯。 但由於循環(我假設)hitTestObject如果語句沒有返回跟蹤'命中'也沒有任何錯誤 - 我應該如何解決這個問題?
預先感謝您!
function randomSort(a:*, b:*):Number
{
if (Math.random() < 0.5) return -1;
else return 1;
}
var obstacleArray:Array = [obstacleCar,obstacleCar2,obstacleCar3];
obstacleArray.sort(randomSort);
//(no need for the shuffledLetters[] Array)
trace(obstacleArray);
trace(obstacleArray.length);
//OBSTACLE START DELAY
var timerPlay:Timer = new Timer(1000,1);
timerPlay.addEventListener(TimerEvent.TIMER, ontimerPlay);
timerPlay.start();
var i:int = 0;
var timerDelay:Timer = new Timer(1000, 3);
function ontimerPlay(evt:TimerEvent):void{
if (carTarget.hitTestObject(obstacleArray[i]) == true){
trace("HIT!");
}
//FOR EACH OBSTACLE
timerDelay.addEventListener(TimerEvent.TIMER, ontimerDelay);
timerDelay.start();
}
function ontimerDelay(evt:TimerEvent):void{
obstacleArray[i].play();
trace(i);
i++;
}
謝謝你的幫助,這清除了很多的理解。 我遵循你的建議,但運行時發生問題。 首先是遷移警告1090 第二次運行時。 Mc完成之後。 TypeError:錯誤#2007:參數hitTestObject必須爲非null。 \t在flash.display使用::的DisplayObject/_hitTest() \t在flash.display使用::的DisplayObject/hitTestObject() \t在tsunamigetawayV_fla :: MainTimeline /的onEnterFrame()[tsunamigetawayV_fla.MainTimeline :: frame83:83] 線83:參考 if(carTarget.hitTestObject(obstacleArray [i])== true){ – user2075625 2013-02-16 11:59:08
@ user2075625我添加了另一個希望清除錯誤的代碼示例。讓我知道它是否有效。 – bwroga 2013-02-16 16:32:46
歡迎回來!恐怕它仍然無法正常工作。 - 它仍然顯示遷移警告,並且2007年的錯誤仍然出現。然而,我發現如果(i <2)i ++;通過添加if語句 , \t}。點擊確實出現,但似乎是隨機的,(即使只發生一次碰撞 - 在所有3個項目出現後連續出現一次)。再次感謝。 – user2075625 2013-02-16 18:29:23