行。我有一个关于 AS3 游戏结构的问题。如何构建简单的射击游戏。
我有一个主要的英雄和发射子弹的船。我想添加两个级别,但我不确定如何正确构建它们或哪种方式正确。
我的主要课程可以容纳所有内容,并且应该切换低谷水平。所以我把每个级别作为一个单独的类。
示例代码
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 函数添加飞船子弹,还是应该在关卡循环中添加它们?
我可以同时做这两种方式,但哪种方式更利于性能和维护,因为我计划在子弹到达场景尽头或击中英雄时添加一些动作。