Actionscript 3 эффекта ролловера уничтожить мой на клики

Я пытаюсь сделать набор кнопок навигации с flash/as3. Я сделал так, чтобы текст увеличивался в пределах нескольких кадров при нажатии, и эффект для каждой кнопки с несколькими кадрами при наведении курсора. Однако, так как я добавил эффекты ролловера, мои клики больше не работают. Я не могу найти какие-либо ресурсы в Интернете с моей точной проблемой. Есть идеи?

Кстати, я новичок в ActionScript, но мой код представляет собой простой набор щелчков событий, а затем некоторые ролловеры с gotoAndPlay("бла")/ стоп, разделенные на слой метки кадра и слой действия со всеми кнопками на одном слое (в пределах диапазона ключевых кадров и т. д.)

1 ответ

Решение

Если вы хотите "заставить" анимацию завершить воспроизведение, вы всегда можете установить переменную, блокирующую ее:

var playing:Boolean = false;

function myClickFunction(e) {
    if(!playing) {
        e.currentTarget.play();
        playing = true;
    }
}

// and in the last frame of the animation, you would do:
playing = false;

Однако эта "играющая" переменная будет учитываться для всех кнопок, поэтому используйте ее с осторожностью, поскольку она блокирует их все. Что касается события опрокидывания, блокирующего событие клика, не могли бы вы опубликовать некоторый код?

Другой способ - проверить, находится ли цель в одном из тех кадров, в которых вы хотите, чтобы она могла быть воспроизведена. подобно if(e.currentTarget.currentFrame == 0) вместо if(!playing), если вы хотите, чтобы разрешить воспроизведение, только если он в настоящее время в кадре 0.

Другие вопросы по тегам