Отключение ролловера кнопок на определенное количество кадров Flash actionscript 3.0 - PullRequest
0 голосов
/ 24 января 2012

Я строю область с выбираемыми кнопками, которые переходят и появляются каждые 10 кадров.В течение этих 10 периодов смены кадров я не хочу, чтобы кнопки были доступны для выбора, и, если возможно, отключил опрокидывание.

Я попытался создать оператор If в addEventListener, чтобы он работал только тогда, когда currentFrame равен 11, 21,31 и т. Д., Но это не сработало.Затем я также попробовал тот же принцип для функции, к которой относится прослушиватель событий, но все еще безуспешно.

У кого-нибудь есть идеи?

Ответы [ 2 ]

0 голосов
/ 24 января 2012

Добавьте прослушиватель для события ENTER_FRAME и вставьте if в функцию обратного вызова.

Например

 this.addEventListener (Event.ENTER_FRAME, onEnterFrame);

 function onEnterFrame (evt:Event):void {
 if (currentFrame == 21) {
       yourButton.enabled = false;
 } else {
       yourButton.enabled = true;
 }

 }
0 голосов
/ 24 января 2012

Вы можете сделать 2 вещи:

1: вы добавляете и удаляете слушателя вручную.Поэтому, когда вы начинаете переход, слушатель удаляется, затем, когда переход заканчивается, слушатель добавляется.

2: Вы создаете пользовательский слушатель, который проверяет состояние кадра, чтобы увидеть, должен ли он выполнятьсяего тело.

ПРИМЕР:

public void listener(event:Event) {
    if (event.getSource().stage.getCurrentFrame() == 10) {//This is an example, I don't know whether this specific way will work.
        //Run your code here
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...