2011-01-13 2 views
0

O.K, будучи немного новым для этого, я ударил кирпичную стену, я использую AS3 в Flash CS5. Все, что я хочу сделать, это анимация с анимацией, которая останавливается в кадре и которая имеет нажатие кнопки для доступа к другой части основной линии. Также в анимации будет кнопка, чтобы пропустить ее. Как это настроить? Очевидно, вам нужна остановка(); на стоп-кадра временной линии и прослушивателя событий и функции для обеих кнопок вправо? Кроме того, это поможет. Я создал это так;Навигация по временной шкале

totalSlides:Number = 60; 
currentSlideNumber:Number = 1; 

skipbutton.addEventListener(MouseEvent.CLICK,skipbuttonPress); 

function skipbuttonPress(evt:MouseEvent):void{ 
    currentframelabel = currentframelabel+1; 
    if(currentSlideNumber>=0){ 
     currentframelabel = introstop; 
    } 
    framelabel.gotoAndStop(introstop); 
} 

и кадр останавливается на устанавливается следующим образом

stop(); 

totalSlides:Number = 60; 
currentSlideNumber:Number = 5; 

click01.addEventListener(MouseEvent.CLICK,click01Press); 

function click01Press(evt : MouseEvent) : void { 
    currentSlideNumber = currentSlideNumber+1; 
    if (currentSlideNumber >= 0) { 
     currentSlideNumber = 25; 
    } 
    framelabel.gotoAndStop(mainpage); 
} 

Как мне это нужно для проекта, любая помощь будет высоко ценится.

Большое спасибо

+0

Итак, что вы пытаетесь сделать, это пропустить рамку нажатием кнопки? –

+0

Я думаю, что 5 в первой строке CS5 ??? – loxxy

+0

Возможно, вы можете загрузить свой проект? Увидеть, как вы продвинулись по поводу своего проекта, может дать вам более подходящий ответ. Также вы рассматривали использование классов вместо временной шкалы? – Taurayi

ответ

0
  1. Framelabels являются строки, так что это должно быть "introstop" и так далее.
  2. currentFrameLabel возвращает фактическое имя метки кадра текущего кадра, а не номер текущего кадра. Поэтому вы не можете сделать currentFrameLabel+1.
  3. Если вы просто хотите пропустить рамку, сделайте gotoAndPlay (currentFrame+1);, но обычно лучше не использовать номера кадров, а метки. Таким образом вы можете добавлять или удалять фреймы между ярлыками без необходимости перепрограммировать все. Я полагаю, вы знаете, как их установить. ;)
  4. frameLabels действительно не идут никуда, MovieClip делает. ;) Использовать this.gotoAndStop("introstop"); или просто gotoAndStop("introstop");

Теперь для установки. В кадре, где появляется ваша кнопка пропуска, сделайте следующее:

skipbutton.addEventListener(MouseEvent.CLICK,skipbuttonPress); 

function skipbuttonPress(evt:MouseEvent):void{ 
    gotoAndStop("introstop"); 
} 

(если у вас нет какого-либо другого использования для slideNumber счета - вам не нужен для пропуска)

Рама с stop(); в конец анимации должен иметь метку «introstop».

В этом же раме «introstop» вам нужна кнопка click01 на сцене. Затем выполните следующие действия:

stop(); 

click01.addEventListener(MouseEvent.CLICK,click01Press); 

function click01Press(evt : MouseEvent) : void { 
    gotoAndStop("mainpage"); 
} 

Где «главная страница» должна быть меткой на рамке, с которой вы хотите перейти после вступления.

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