MCの動きをクラスにしたもの。この例では車
package {
import flash.display.MovieClip;
import flash.events.Event;
public class MyCar {
var my_mc:MovieClip;
var my_speed:int;
var my_color:String;
var my_gass:int;
//コンストラクタ
public function MyCar(mc:MovieClip,color:String) {
my_mc=mc;
my_speed=0;
my_color=color;
}
//ドライブ開始
public function drive(gass:uint):void {
//ガスを給油
my_gass=gass;
//スピードを決める
my_speed=Math.floor(Math.random() * 20) + 5;
//イベントリスナーに登録
my_mc.addEventListener(Event.ENTER_FRAME,onEnterFrame);
}
//車を動かす
private function onEnterFrame(event:Event):void {
my_gass-= my_speed * 2;
my_mc.x+= my_speed;
//移動
if (my_mc.x – my_mc.width / 2 > my_mc.stage.stageWidth) {
//ステージより大きいXだったら、自分のサイズ引いた場所を入れる。
//例では-64になるからマイナススタートになるからまた左からになるって訳でした
my_mc.x= – my_mc.width / 2;
}
//燃料を使い終わったら停止
if (my_gass <= 0) {
my_mc.removeEventListener(Event.ENTER_FRAME,onEnterFrame);
}
}
}
}
でタイムラインに
var redCar:MyCar = new MyCar(redCar_mc, “red”);
var blueCar:MyCar = new MyCar(blueCar_mc, “blue”);
redCar.drive(2000);
blueCar.drive(2500);
とすれば、車が2台走りだす。