| 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.: Начал изучать недели две назад, извиняюсь, если что не так.
|