ActionScript 3 敌人射击三颗子弹并让它们朝不同的方向移动
ActionScript 3 enemy shooting three bullets and having them go in different directions
我正在学习 as3,对此我有点陌生。我正试图让我的敌人射出三发子弹,到目前为止我已经完成了那部分。然而,我一直坚持让它们朝不同的方向前进,而它们都只是朝一个方向前进。这是我在 as3 中使用的代码示例。
var _enemy:Enemy;
_enemy = new Enemy(350,500);
addChild(_enemy);
enemyArray.push(_enemy);
for(var i:int = 0; i < enemyArray.length; i++)
{`enter code here`}
var _enemyFire:EnemyFire;
_enemyFire = new EnemyFire(_enemy.x, _enemy.y);
addChild(_enemyFire);
enemyAmmoArray.push(_enemyFire);
for(var ef:int = 0; ef < enemyAmmoArray.length; ef++)
{
_enemyFire = enemyAmmoArray[ef];
_enemyFire.enemyBulletMOV(0,5);
}
_enemyFire.enemyBulletMOV(0,5);
正在 EnemyFire Class
中调用一个函数
public function enemyBulletMOV(MOVx:Number, MOVy:Number)
{
x = x + MOVx;
y = y + MOVy;
}
所以我发现如果我这样做
var _enemyFire:EnemyFire;
_enemyFire = new EnemyFire(_enemy.x, _enemy.y);
addChild(_enemyFire);
enemyAmmoArray.push(_enemyFire);
_enemyFire = new EnemyFire(_enemy.x, _enemy.y);
addChild(_enemyFire);
enemyAmmoArray.push(_enemyFire);
_enemyFire = new EnemyFire(_enemy.x, _enemy.y);
addChild(_enemyFire);
enemyAmmoArray.push(_enemyFire);
我会为敌人打三发子弹,但我被困在这里
_enemyFire.enemyBulletMOV(-5,5);
_enemyFire.enemyBulletMOV(0,5);
_enemyFire.enemyBulletMOV(5,5);
我一直坚持为每颗子弹赋予它自己的方向。相反,他们只会往一个方向走。
_enemyFire.enemyBulletMOV(-5,5);
向您的 EnemyFire
构造函数添加另一个参数:
_enemyFire = new EnemyFire(_enemy.x, _enemy.y, -5);
addChild(_enemyFire);
enemyAmmoArray.push(_enemyFire);
然后,在您的 enemyBulletMOV
调用中:
_enemyFire.enemyBulletMOV(_enemyFire.direction,5);
这样您就可以为每颗子弹定义方向。
我正在学习 as3,对此我有点陌生。我正试图让我的敌人射出三发子弹,到目前为止我已经完成了那部分。然而,我一直坚持让它们朝不同的方向前进,而它们都只是朝一个方向前进。这是我在 as3 中使用的代码示例。
var _enemy:Enemy;
_enemy = new Enemy(350,500);
addChild(_enemy);
enemyArray.push(_enemy);
for(var i:int = 0; i < enemyArray.length; i++)
{`enter code here`}
var _enemyFire:EnemyFire;
_enemyFire = new EnemyFire(_enemy.x, _enemy.y);
addChild(_enemyFire);
enemyAmmoArray.push(_enemyFire);
for(var ef:int = 0; ef < enemyAmmoArray.length; ef++)
{
_enemyFire = enemyAmmoArray[ef];
_enemyFire.enemyBulletMOV(0,5);
}
_enemyFire.enemyBulletMOV(0,5);
正在 EnemyFire Class
中调用一个函数public function enemyBulletMOV(MOVx:Number, MOVy:Number)
{
x = x + MOVx;
y = y + MOVy;
}
所以我发现如果我这样做
var _enemyFire:EnemyFire;
_enemyFire = new EnemyFire(_enemy.x, _enemy.y);
addChild(_enemyFire);
enemyAmmoArray.push(_enemyFire);
_enemyFire = new EnemyFire(_enemy.x, _enemy.y);
addChild(_enemyFire);
enemyAmmoArray.push(_enemyFire);
_enemyFire = new EnemyFire(_enemy.x, _enemy.y);
addChild(_enemyFire);
enemyAmmoArray.push(_enemyFire);
我会为敌人打三发子弹,但我被困在这里
_enemyFire.enemyBulletMOV(-5,5);
_enemyFire.enemyBulletMOV(0,5);
_enemyFire.enemyBulletMOV(5,5);
我一直坚持为每颗子弹赋予它自己的方向。相反,他们只会往一个方向走。
_enemyFire.enemyBulletMOV(-5,5);
向您的 EnemyFire
构造函数添加另一个参数:
_enemyFire = new EnemyFire(_enemy.x, _enemy.y, -5);
addChild(_enemyFire);
enemyAmmoArray.push(_enemyFire);
然后,在您的 enemyBulletMOV
调用中:
_enemyFire.enemyBulletMOV(_enemyFire.direction,5);
这样您就可以为每颗子弹定义方向。