AS3.0でムービークリップ制御
現在、AS3.0でswfファイルを読み込み、その再生・停止をコントロールするswfを作ろうとしています。
そこで自分なりにプログラム書いてみたのですが、停止ができなくて困っています。
以下ソース
package
{
import flash.display.*;
import flash.events.*;
import flash.net.URLRequest;
public class Test extends Sprite
{
private var mc:MovieClip = new MovieClip();
private var btn_load:SimpleButton = new SimpleButton(); //loadボタン
private var btn_stop:SimpleButton = new SimpleButton(); //stopボタン
private var l:Loader = new Loader();
public function Test()
{
mc.x = 30;
mc.y = 30;
btn_load.upState = this.drawCircle( 0x228822, 20 );
btn_load.overState = this.drawCircle( 0x225522, 21 );
btn_load.downState = this.drawCircle( 0x553355, 20 );
btn_load.hitTestState = btn_load.upState;
btn_load.addEventListener( MouseEvent.CLICK, Load );
btn_stop.upState = this.drawCircle( 0x228822, 20 );
btn_stop.overState = this.drawCircle( 0x225522, 21 );
btn_stop.downState = this.drawCircle( 0x553355, 20 );
btn_stop.hitTestState = btn_stop.upState;
btn_stop.x = 50;
btn_stop.addEventListener(MouseEvent.CLICK, Stop);
addChild(mc);
addChild(btn_load);
addChild(btn_stop);
mc.addChild(l);
}
private function drawCircle( color:uint, r:Number ):Shape {
var circle:Shape = new Shape();
circle.graphics.lineStyle( 1, 0x222222 );
circle.graphics.beginFill( color );
circle.graphics.drawCircle( 0, 0, r );
circle.graphics.endFill();
return circle;
}
private function Load(e:Event):void{
l.load(new URLRequest("animation.swf"));
}
private function Stop(e:Event):void{
mc.stop();
}
}
}
なにが原因なのでしょうか・・・
わかる方ご回答お願いします。。
お礼
早速の解答ありがとうございます! わかりやすい説明だたので理解することができました!