Форум 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=196217)

andreydat 21.03.2013 02:23

код на кнопку для запуска анимации на таймлайне
 
добрый день, прошу прощения, когда то имел дело с AS2 а тут столкнулся с AS3 и оказалось сооовсем другое...
Итак
есть листалка и загружаемые в нее элементы из вспомогательного файла elements.swf (а именно кнопка Help, при ее нажатии появляется подсказка (мувик Hint)). этот элемент (Help) управляется кодом в файле Help.as
Происходит так, что мувик подсказки (Hint) загружается изначально в листалку и покадровая анимация на его таймлайне постоянно крутиться с момента загрузки становясь видимой при нажатии кнопки Help
Пожалуйста, подскажите код чтобы анимация на таймлайне мувика подсказки воспроизводилась (стартовала)только при нажатии на кнопку Help, то есть когда становилась видимой и соответственно прекращалось воспроизведение, когда скрывалась.
я пробовал как в AS2 сделать первым кадр в подсказке (мувике Hint) пустым с кодом stop() и начинать анимацию со второго кадра а к кнопке прицепить что-то вроде GoToAndPlay(2)но это в AS3 не работает.
большое спасибо

ниже содержимое Help.as

Код AS1/AS2:

package  
{
        import flash.display.DisplayObject;
        import flash.display.MovieClip;
        import flash.display.SimpleButton;
        import flash.display.Sprite;
        import flash.display.Stage;
        import flash.events.Event;
        import flash.events.MouseEvent;
 
        public class Help extends Sprite
        {
                private var stg: Stage;
                private var btnHelp: SimpleButton;
                private var hint: MovieClip;
                private var hinted: Boolean = false;
 
                public function Help(_stg: Stage)
                {
                        stg = _stg;
                        stg.addEventListener(Event.RESIZE, onStgResize);
 
                        [Embed(source = '../lib/elements.swf', symbol = 'Help')]
                        var HelpClass: Class;
                        btnHelp = new HelpClass();
                        this.addChild(btnHelp);
                        btnHelp.addEventListener(MouseEvent.CLICK, onHelpClick);
 
                        [Embed(source = '../lib/elements.swf', symbol = 'Hint')]
                        var HintClass: Class;
                        hint = new HintClass() as MovieClip;
                        //ShowHint();
                        hint.addEventListener(MouseEvent.CLICK, onHelpClick);
 
                        this.x = stg.stageWidth - btnHelp.width - 100;
                        this.y = 300;
                }
 
                private function ShowHint(): void
                {
                        if (hinted)
                                stg.removeChild(hint);
                        else
                        {
                                hint.x = stg.stageWidth - hint.width - 210;
                                hint.y = 380;
                                stg.addChild(hint);
                        }
 
                        hinted = !hinted;
                }
 
                private function onHelpClick(e: MouseEvent): void
                {
                        ShowHint();
                }
 
                protected function onStgResize(e: Event): void
                {
                        if (hinted)
                        {
                                hint.x = stg.stageWidth - hint.width - 210;
                                hint.y = 380;
                        }
 
                        this.x = stg.stageWidth - btnHelp.width - 100;
                        this.y = 300;
                }
        }
 
}


Wolsh 21.03.2013 04:09

Код AS3:

hint.stop();
hint.play();


andreydat 21.03.2013 11:11

спасибо!
только простите за... эм-ммм... некомпетентность, но где именно это вписать чтобы этот hint запускался при появлении (нажатии Help) и останавливался при исчезании)
спасибо.

caseyryan 21.03.2013 12:17

Цитата:

то вроде GoToAndPlay(2)но это в AS3 не работает.
Потому что as3 чувствителен к регистру. И правильное название метода не GoToAndPlay, а gotoAndPlay


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

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