Показать сообщение отдельно
Старый 25.11.2012, 08:04
pomuс вне форума Посмотреть профиль Отправить личное сообщение для pomuс Найти все сообщения от pomuс
  № 1  
Ответить с цитированием
pomuс

Регистрация: Sep 2012
Сообщений: 204
По умолчанию Переключение кадров и условие currentFrame

доброго времени суток

у меня вопрос следующего характера. Мне нужно было сделать меню такого вида- 4 мувиклипа, в каждом свои кнопки. и соответственно 2 кнопки, переключающие эти клипы.
На первый взгляд ничего сложного, я прикинул каким способом лучше выполнить, и пришел к выводу сделать 4 кадра на главной сцене. Слой с кнопками переключения клипов, общий для всех. Так же как и слой АС3.
Для мягкой смены кадром сделал следующим образом:

добавляется класс Fader, создается экземпляр.
Далее по условию, какой кадр проигрывается ( if currentFrame == (х)) прописываю слушатели на кнопки, внутри клипов. Без if это не получается, т.к. он ругается на нулевой объект. Вот небольшой пример кода
Код AS3:
if (currentFrame == 1){
obj38_btn.addEventListener(MouseEvent: CLICK, choose);}
Далее прописываются слушатели к кнопкам, которые меняют кадр. Вот и код смены
Код AS3:
function clicked (e:MouseEvent):void{
if (currentFrame == 1){
 switch (e.currentTarget.name){
 	case "left":
 	addChild(fader);
 	TweenLite.to(fader, 0.5, {alpha:1,onComplete: goto});
 	i = 4;
 	TweenLite.to(fader, 0.5, {delay:0.5, alpha:0, onComplete: removeFader });
 	break;
 
 	case "right":
 	addChild(fader);
 	TweenLite.to(fader, 0.5, {alpha:1,onComplete: goto});
 	i = 2;
 	TweenLite.to(fader, 0.5, {delay:0.5, alpha:0, onComplete: removeFader});
 	break;
 }
}
и так на 4 условия.
далее сами исполнительные функции смены
Код AS3:
function removeFader():void{
removeChild(fader);
}
 
function goto ():void{
gotoAndStop(i);
}
Итак, к сути- проблема в том, что currentFrame почем то не меняет свое значение, НО!!! (что самое странное для меня) смена кадров происходит. Я трейсил все и вся, в поисках выявить, где же запарывается логика кода, но потратил на это уйму времени, и безрезультатно. Итог 1- все работает только на первом кадре, на остальных только идет переключение кадров (мувиклипов).

Подтолкните пожалуйста, где же я совершил какую то концептуальную ошибку?