スペースバーを押すたびに弾丸を発射するキャラクターを持つサイドスクローラーに取り組んでいます.私が抱えている問題は、キャラクターが向いている方向(左または右)に弾丸を動かすことです.
キャラクターがどちらの方向を向いているかを示すブール変数がいくつかあります。walkLeft の場合、walkingRight == true の場合、弾丸は +=10 移動し、walkingLeft == true の場合、弾丸 -= 10 になります。
問題は、左に向けて発砲すると弾丸が左に移動しますが、右に曲がるとすぐに同じ弾丸が右に移動し始めることです.
AS3 コードのスニペット (すべてのフレーム) は次のとおりです。
if(gamepad.fire2.isPressed){
// initiate bullet
var bullet = new Bullet();
bullet.x = _player.x;
bullet.y = _player.y;
/*_boundaries.*/addChild(bullet);
bullets.push(bullet);
}
for each(var bullet in bullets){
if(walkingRight || idleRight || jumpingRight){
bullet.x += 10;
trace("Bullet - Moving Right");
}
else if(walkingLeft || idleLeft || jumpingLeft){
bullet.x -= 10;
trace("Bullet - Moving Left");
}
}
大学のプロジェクトのため、これから何か助けていただければ幸いです。
ありがとう