Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   действие кнопи в зависимости от кадра. (http://www.flasher.ru/forum/showthread.php?t=125046)

droch_fhoula 15.05.2009 10:01

действие кнопи в зависимости от кадра.
 
как сделать чтоб когда кнопка в первом кадре она бы выполняла одну функцию, а при переходе на другой кадр она бы выполняла другую функцию?
хотябы скажите на правильном ли я пути:D
Код AS3:

package {
        import flash.display.MovieClip;
        import flash.events.MouseEvent;
        import flash.display.Sprite;
        import flash.events.Event;
 
        public class ContForLinks extends MovieClip {
                public function ContForLinks() {
                        if(currentFrame == 1){
                                btn.addEventListener(MouseEvent.CLICK,clik1)
                }else if(currentFrame == 30){
                        btn.addEventListener(MouseEvent.CLICK,clik2);
                }
                                        btn.buttonMode = true;
                }
                function clik1(e:MouseEvent):void {
                        gotoAndPlay('2');
                }
                function clik2(e:MouseEvent):void{
                        gotoAndPlay('31');
                }
        }
}


GBee 15.05.2009 10:15

Вынесите условие, что запускать (в зависимости от кадра) в ОДИН хендлер клика.
И судя по коду в хотите переходить на следующий кадр мувика :о))
Код AS3:

function onCliсk(e:MouseEvent):void{
                        gotoAndStop(currentFrame+1);
                }


droch_fhoula 15.05.2009 11:50

мне просто нужно чтоб при первом нажатии на кнопку был переход на второй кадр, после чего играет анимация до 30 кадра и останавливается. и чтоб когда нажимаеш на кнопку в положении 30 кадра происходил переход на 31 кадр и играла другая анимация.


вот переписала код.
вроде работает, просто я хотела удедится корректен он или нет.
т.к. я только начинаю изучать as3 и мне очень важно изначально видеть ошибки, чтоб потом не приходилось переучатся.
Код AS3:

package {
        import flash.display.MovieClip;
        import flash.events.MouseEvent;
        import flash.display.Sprite;
        import flash.events.Event;
 
        public class ContForLinks extends MovieClip {
                public function ContForLinks() {
                        btn.addEventListener(MouseEvent.CLICK, onClick);
                        function onClick(e:MouseEvent):void {
                                if (currentFrame==1) {
                                        gotoAndPlay(2);
                                } else if (currentFrame == 30) {
                                        gotoAndPlay(31);
                                }
                        }
                }
        }
}


GBee 15.05.2009 14:07

Так если код работает, то чего вы спрашиваете?


Часовой пояс GMT +4, время: 23:02.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.