我正在使用FlashDevelop
IDE 学习 AS3 并Flex
进行编译。
我通过创建一个Bitmap
类然后在代码中嵌入一个 .png 来添加图像,例如:
敌人
package enemies
{
import flash.display.Bitmap;
import flash.events.MouseEvent
[Embed(source="../../assets/gardengnome.png")]
public class Enemy extends Bitmap
{
public function Enemy()
{
trace("enemy constructed");
}
}
}
我了解到,为了能够处理,MouseEvent
我需要将其Bitmap
放入Sprite
容器中。
现在,我不知道这是我的做法:
我创建了一个新变量来保存enemyContainer
并将Main.as
其添加到阶段:
package
{
import enemies.Enemy;
import enemies.EnemyContainer;
import flash.display.Sprite;
import Player.Player;
public class Main extends Sprite
{
public var enemyContainer:EnemyContainer = new EnemyContainer();
public function Main():void
{
addChild(enemyContainer);
}
}
}
然后EnemyContainer
该类调用Enemy
Bitmap
保存图形并将其作为子对象添加到自身:
package enemies
{
import flash.display.Sprite;
import flash.events.MouseEvent
public class EnemyContainer extends Sprite
{
private var enemy:Enemy = new Enemy();
public function EnemyContainer()
{
trace("enemyContainer constructed");
addChild(enemy);
addEventListener(MouseEvent.CLICK, handleClick);
}
private function handleClick(e:MouseEvent):void
{
trace("Clicked Enemy");
}
}
}
我还没有足够的经验看到这样做有任何问题。我可以更改Enemy
Bitmap
类中的图形而无需处理其他任何事情,并Main.as
处理EnemyContainer
.
但是,如果有推荐的或更有效的方法来处理此问题,我想在养成习惯之前立即学习它。有一个更好的方法吗?
感谢您的任何建议!