在这种情况下,您Player
可能有一个fire()
处理此问题的函数。
作为一个非常简单的例子,你可能有:
public function fire():void
{
var bullet:Bullet = new Bullet(x, y, rotation);
stage.addChild(bullet);
}
您Bullet
将接受起始位置和旋转的位置:
class Bullet extends Sprite
{
public function Bullet(x:int, y:int, rotation:Number)
{
this.x = x;
this.y = y;
this.rotation = rotation;
}
}
这使您可以轻松地推进您的fire()
功能以处理诸如玩家拥有不同武器、没有弹药等的事情:
public function fire():void
{
if(currentWeapon.ammunition === 0) return;
if(currentWeapon is Handgun)
{
// Make a HandgunBullet.
}
if(currentWeapon is Shotgun)
{
// Make a ShotgunBullet.
}
}