2014-01-27 3 views
0

Я изучаю основы Flash, и я просто понял, как оживить символ/экземпляр, отредактировав рамки символа, как только вы дважды щелкните по нему.Запуск анимации в указанное время

Есть ли способ вызвать анимацию? Например, у вас есть анимация по умолчанию человека, стоящего перед экраном, который он подпрыгивает вверх и вниз. Но когда нажата клавиша со стрелкой вправо, то goto анимация его подпрыгивания вверх и вниз, обращенная к правой стороне экрана.

ответ

1

Создать анимацию из кадра 1 до 10, на раме 10 вставить код:

gotoAndPlay(1); 

создать второй цикл анимации от кадра 11 до 20, на раме 20 вставить код:

gotoAndPlay(11); 

и т.д ..

затем добавить слушатель события на сцену, чтобы слушать события клавиатуры:

stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyBoard); 
function handleKeyBoard(event:KeyboardEvent):void 
{ 
    switch(event.keyCode) { 
    case Keyboard.RIGHT : 
     animation.gotoAndPlay(11);// you can use label names or frame index 
     break; 
    case Keyboard.LEFT : 
     animation.gotoAndPlay(1);// return to original loop 
     break; 
    } 
} 
+0

Спасибо! Это именно то, что мне нужно. Быстро вопрос: для места, где я бы вводил код, мне нужно было бы дважды щелкнуть по изображению, чтобы отредактировать символ. А потом, где бы я вставлял код? Должен ли я щелкнуть рамку 10, а затем поставить код где? – user2789610

+0

Поместите его в первый кадр временной шкалы, содержащий вашу анимацию. Обратите внимание, что вам может потребоваться изменить animation.gotoAndPlay на просто gotoAndPlay, чтобы он нацелился на текущую сцену вместо объекта на сцене – mika

0

Что вы имеете в виду, at specified times может быть событием триггера.

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

Например, когда нажата клавиша со стрелкой вправо, переходите к анимации, которую он подпрыгивает вверх и вниз, обращаясь к правой стороне экрана.

animation.addEventListener(KeyboardEvent.KEY_DOWN, 
    function onKeyDown(e:KeyboardEvent):void 
    { 
     //When Right key is pressed 
     if(e.keyCode == Keyboard.RIGHT) 
     { 
      //animation.gotoAndPlay("bobbing up and down"); 
      //or do something else 
     } 
    }); 
+0

Событие клавиатуры необходимо связать с этапом, а не с целевым спрайтом – mika

+0

Спасибо! Это похоже на то, что сказал мика (хотя слушатель должен был быть на сцене), поэтому я дал вам преимущество/все, что они называли в SO. – user2789610

Смежные вопросы