Почему .currentFrame не находит кадры в мувиклипе?моя кнопка не прячетсяFlash AS3 - PullRequest
0 голосов
/ 25 октября 2011

Я создаю «простое» слайд-шоу для моей сестры с помощью Flash CS5 AS3. Я использую шаблон флеш-презентации. В настоящее время у меня есть существующие функциональные кнопки, которые перемещаются в любом направлении по презентации. Единственное, что на титульной странице, я просто хочу иметь кнопку «Ввод», которая скрывается при переходе к кадрам> 1. В настоящее время у меня есть все кнопки на одном слое, мувиклип (slides_mc) на отдельном слое, и действия на его собственном слое. Все состоит только из одного кадра на главной временной шкале. Внутри slides_mc нет скрипта действий, и он состоит из 4 кадров.

Я не получаю никаких ошибок при запуске теста, но он просто не находит конкретные кадры в мувиклипе. ИЛИ он находит кадры, но не выполняет .visible = false.

Если я использую следующее:

if(slides_mc.currentFrame>1) enter_btn.visible=false;

Это кнопка видна на всех четырех кадрах.

Если я использую следующее:

if(slides_mc.currentFrame==1) enter_btn.visible=false;

Кнопка исчезает в кадре 1, но больше не видна ни в одном из других кадров.

Если используется следующее:

if(slides_mc.currentFrame==2) enter_btn.visible=false;

Кнопка видна на всех четырех кадрах.

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

Если я забыл упомянуть важную информацию или вам нужен какой-либо другой код, который может повлиять на результат, пожалуйста, дайте мне знать. Ваша помощь очень ценится.

Ответы [ 3 ]

0 голосов
/ 26 октября 2011

Вы также можете сделать:

stage.addEventListener(Event.ENTER_FRAME, doThis);

 function doThis(){ if(slides_mc.currentFrame>1){enter_btn.visible=false;}}

Тогда функция будет постоянно проверять текущий кадр.

0 голосов
/ 03 июля 2015
stage.addEventListener(Event.ENTER_FRAME, doThis);

 function doThis(event:Event){ if(slides_mc.currentFrame>1){enter_btn.visible=false;}}
0 голосов
/ 25 октября 2011

Вы, вероятно, помещаете код в 1-й кадр, «если» проверяется один раз, и когда вы переходите к следующему кадру, этот код не выполняется.Если вы не хотите расширять MovieClip для внешнего файла .as, вам просто нужно поместить код visible = false в кадры. Вам нужно его скрыть или просто удалить объект из временной шкалы.

...