I am learning as3 and I am kind of new to this. I am trying to get my enemy to shoot three bullets and so far I got that part done. However, I am stuck on making them go in different directions and they all just go in one directions instead. Here is an example of the code I am using in 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);
}
the
_enemyFire.enemyBulletMOV(0,5);
is pulling up a function in the EnemyFire Class
public function enemyBulletMOV(MOVx:Number, MOVy:Number)
{
x = x + MOVx;
y = y + MOVy;
}
so I figured out that if I did this
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);
I would get three bullets for the enemy but where I am stuck is this
_enemyFire.enemyBulletMOV(-5,5);
_enemyFire.enemyBulletMOV(0,5);
_enemyFire.enemyBulletMOV(5,5);
I am stuck on giving each bullet it's own direction. instead they will only go one direction.
_enemyFire.enemyBulletMOV(-5,5);
Add another argument to your EnemyFire
constructor:
_enemyFire = new EnemyFire(_enemy.x, _enemy.y, -5);
addChild(_enemyFire);
enemyAmmoArray.push(_enemyFire);
Then, in your enemyBulletMOV
call:
_enemyFire.enemyBulletMOV(_enemyFire.direction,5);
That way you'll have the direction defined for each bullet.