пользовательские функции as3 - PullRequest
0 голосов
/ 30 мая 2010

Я новичок в AS3. как мне выполнить пользовательскую функцию n раз, а затем выполнить другую функцию n раз несколько раз?

например.

function firstOne():void { }

function secondOne():void { }

Мне нужно выполнить firstOne (), скажем, 3 раза, а затем secondOne () 3 раза, а затем firstOne 3 раза и так далее. я пытаюсь переместить видеоклип 3 раза влево и затем 3 раза вправо.

спасибо

Ответы [ 2 ]

0 голосов
/ 31 мая 2010

Я думаю, что у вас проблемы с тем, что вам нужен промежуток времени, если вы перемещаете видеоклип. Ответ коррозий правильный, но сначала он будет работать три раза в одном кадре, если у вас есть анимация и т. д., то они просто перезаписывают все.

У меня будет счетчик и держатель функции с циклическим событием, либо добавьте его в событие Timer, ENTER_FRAME или в качестве события onComplete для анимации движения.

private var endFunc:Function = firstOne;
private var count:int = 0;

private function step(ev:Event) //CATCH ANY EVENT ETC IN HERE
{
    int ++;
    if(int>3){
        int = 0;
        if(endFunc == firstOne){ endFunc = sencondOne };
        else { endFunc = firstOne };
    }
    endFunc();
}
0 голосов
/ 30 мая 2010

почему бы не создать третью функцию, которая будет вводить количество повторений, которое вы хотите выполнить?

function thirdFunction(times_iterated:Number):void { 
   for(i=0; i<times_iterated; i++) {
     firstOne();
   }
}  

тогда так для второй функции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...