У меня проблема с моим скриптом AS3 flash.Функция воспроизведения не определена, если она установлена в классе таймера? Flash AS3
У меня есть массив из 3 предметов мувиклипа, я хочу играть каждый с задержкой таймера на 1 секунду между каждым элементом. Однако при размещении класса таймера вокруг экземпляра «play» он возвращает ошибку неопределенного свойства.
//Randomise MC array
function randomSort(a:*, b:*):Number
{
if (Math.random() < 0.5) return -1;
else return 1;
}
var obstacleArray:Array = [obstacleCar,obstacleCar2,obstacleCar3];
obstacleArray.sort(randomSort);
trace(obstacleArray);
trace(obstacleArray.length);
//Delay initially 1 second upon entering frame
var timerPlay:Timer = new Timer(1000,1);
timerPlay.addEventListener(TimerEvent.TIMER, ontimerPlay);
timerPlay.start();
function ontimerPlay(evt:TimerEvent):void{
//FOR EACH OBSTACLE, Run through array delaying each item by 1 second
for(var i:Number=0; i<obstacleArray.length; i++){
var timerDelay:Timer = new Timer(1000,1);
timerDelay.addEventListener(TimerEvent.TIMER, ontimerDelay);
timerDelay.start();
function ontimerDelay(evt:TimerEvent):void{
obstacleArray[i].play();
trace(obstacleArray[i]);
trace(i);
}
}
}
Большое вам спасибо, если вы можете мне помочь!
Вы не можете использовать «я» переменные внутри вложенную функцию. – Vesper
@Vesper Я не видел никаких ошибок/предупреждений об использовании i в вложенной функции при копировании в Flash CS5 – abnvp
Было предложено использовать функцию возврата? Проблема возникает только в тот момент, когда я начинаю использовать таймер-таймер в цикле for – user2075625