Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как остановить MovieClip? (http://www.flasher.ru/forum/showthread.php?t=199700)

samoilowmaxim 22.05.2013 20:47

Как остановить MovieClip?
 
Есть мувиклип, который выглядит на первом кадре как кнопка Play, а на втором как Pause. Нужно, чтобы он переходил с кадра на кадр в зависимости от того, включена ли музыка. Мувик зовут 'pp'
При попытке обращения к gotoAndStop выдает ошибку:
Цитата:

/Users/Samoilow/Desktop/MusicPlay/main/soundPart2.as, Line 64 1061: Call to a possibly undefined method gotoAndStop through a reference with static type Class.
Переводчик гугл:
Цитата:

/ Users/Samoilow/Desktop/MusicPlay/main/soundPart2.as, строка 58 1061: Вызов предположительно неопределенного метода gotoAndStop помощью ссылки со статическим классом типа.
Привожу код единственного класса:
Код AS3:

package main {
 
        import flash.display.MovieClip;
        import flash.media.Sound;
        import flash.media.SoundTransform;
        import flash.events.Event;
        import flash.media.SoundChannel;
        import flash.events.MouseEvent;
 
 
 
        public class soundPart2 extends MovieClip {
 
                private var chanel:SoundChannel;
                private var sndTransform:SoundTransform;
                private var isStop:Boolean;
                private var isStopPosition:Number = 0;
                private var sound:Sound = new BetkhovenSound();
                private var buttonPP:pp = new pp;
 
 
                public function soundPart2() {
 
                        buttonPP.x = 275;
                        buttonPP.y = 200;
                        addChild(buttonPP);                //Это кнопка Play/Pause
 
                        sndTransform = new SoundTransform(0);
                        chanel = sound.play(0, 0, sndTransform);
                        buttonPP.addEventListener(MouseEvent.CLICK, clickHandler);
 
                }
 
                private function frameHandler(event:Event):void {                //постепенное увеличение звука в начале
 
                        sndTransform.volume += 0.01;
 
                        if (sndTransform.volume >= 1) {
                                sndTransform.volume = 1;
                                this.removeEventListener(Event.ENTER_FRAME, frameHandler);
 
                        }
 
                        chanel.soundTransform = sndTransform;
 
                }
 
 
                private function clickHandler (event:MouseEvent):void {                //Функция выполняет Play/Pause
                        if (!isStop) {
                                isStop = true;
                                isStopPosition = chanel.position;
                                chanel.stop();
                                this.removeEventListener(Event.ENTER_FRAME, frameHandler);               
                                //Здесь должна быть команда перехода на первый кадр мувиклипа 'pp' и остановку
                                //pp.gotoAndStop(1);        //не работает
                        } else {
                                isStop = false;
                                chanel = sound.play(isStopPosition, 0, sndTransform);
                                if (sndTransform.volume < 1) {
                                        this.addEventListener(Event.ENTER_FRAME, frameHandler);
                                }
                                //Здесь должна быть команда перехода на второй кадр мувиклипа 'pp' и остановку
                                //pp.gotoAndStop(2);        //не работает
                        }
 
 
                }
 
        }
 
}


P.S.: Начал изучать недели две назад, извиняюсь, если что не так.

Rzer 22.05.2013 21:20

Код AS3:

private var buttonPP:pp = new pp;

Экземпляр класса (сам объект) у тебя называется buttonPP, а не pp. pp - это класс.

samoilowmaxim 22.05.2013 21:42

Спасибо!
 
Спасибо, Rzer.
Странно, раньше пробовал, не помогло.


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

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