Ok。AS3 ゲームの構造について質問があります。シンプルなシューティングゲームの組み立て方。
メインヒーローと弾丸を発射する船があります。2 つのレベルを追加したいのですが、それらを適切に構成する方法や、どちらの方法が適切かわかりません。
私はすべてを保持し、トラフレベルを切り替える必要があるメインクラスを持っています。そのため、各レベルを個別のクラスとして分けています。
サンプルコード
package
{
// imports
public class Main extends Sprite
{
// properties
private var testLevel:Level1;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
testLevel = new Level1();
addChild(testLevel);
}
}
}
// Level1 code
package Levels
{
// imports
public class Level1 extends Sprite
{
// properties
private var ship:Ship;
public function Level1(stage:Object)
{
// do some stuff
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function onEnterFrame(e:Event):void
{
// do some stuff
}
}
}
したがって、このコードによると、私の質問は次のとおりです。Ship内で別のENTER_FRAME関数を使用して船の弾丸を追加する必要がありますか、それともレベルループに追加する必要がありますか?
両方の方法を実行できますが、弾丸がシーンの最後に到達したとき、またはヒーローに当たったときにいくつかのアクションを追加する予定であるため、パフォーマンスとマイナーのどちらが優れています.