airRaidというフラッシュファイルと2つのクラスを作成しました。それらは同じフォルダにあります。シーンをテストすると、完全に間違ったコードを記述しても、エラーは発生しません。
コードは、movieClipを再生するためのものです。ちゃんとリンクしました。
だから私はairRaidフラッシュファイルを持っています。
VoertuigRaidクラス。コードの半分を削除してもエラーが発生しない場合、表示されるのはブランテストシーンだけです。
package
{
import flash.display.*;
public class VoertuigRaid extends MovieClip
{
public function VoertuigRaid()
{
var a:Voertuig = new Voertuig("left", 50, 200);
addChild(a);
}
}
}
そしてVoertuigクラス:
package
{
import flash.display.*;
import flash.events.*;
import flash.utils.getTimer;
public class Voertuig extends MovieClip
{
private var dx:Number; //Snelheid en richting
private var lastTime:int; //Animatie tijd
public function Voertuig(side:String, speed:Number, altitude:Number)
{
if (side == "left")
{
this.x = -50; //Start aan de linkerkant
dx = speed //Vlieg naar rechts
this.scaleX = -1; //omdraaien
}
else if (side == "right")
{
this.x = 50; //Start aan de linkerkant
dx = -speed; //Vlieg naar links
this.scaleX = 1; //Niet omdraaien
}
this.y = altitude //Verticale positie van het voertuig
//Kies een willekeurig vliegtuig
this.gotoAndStop(Math.floor(Math.random()*5+1));
//Animatie voorbereiden
addEventListener(Event.ENTER_FRAME,moveVoertuig);
lastTime = getTimer();
}
public function moveVoertuig(event:Event)
{
//Tijd moet passeren
var timePassed:int = getTimer() -lastTime;
lastTime += timePassed/1000;
//Beweeg voertuig
this.x += dx*timePassed/1000;
//check to see it off screen
if ((dx < 0) && (x < -50))
{
deleteVoertuig();
}
else if ((dx > 0) && (x > 700))
{
deleteVoertuig();
}
}
public function deleteVoertuig()
{
removeEventListener(Event.ENTER_FRAME,moveVoertuig);
MovieClip(parent).removeVoertuig(this);
parent.removeChild(this);
}
public function voertuigHit()
{
removeEventListener(Event.ENTER_FRAME,moveVoertuig);
MovieClip(parent).removeVoertuig(this);
gotoAndPlay(ontploffing);
}
}
}