非常にシンプルなスペースインベーダースタイルのゲームを作っています。現在、次のように、スペースバーに応答するように設定されたfireメソッドがあります。
case VK_SPACE:
tank.Fire();
break;
そして、画面外の弾丸を戦車の後ろに出現させてから上向きに発射する射撃方法。
void Tank::Fire() {
//Moves bullets to behind tank.
bullets[bulletCount].SetPos(Vector2D (tank_pos.x+20, tank_pos.y+20));
//Sets their speed vector in motion.
bullets[bulletCount].SetSpeed(Vector2D (0, -350));
bulletCount++; //Increment the current bullet to be used.
}
問題は、スペースバーを1回叩くと、一度に複数回発射されることです。プレスごとに1回だけ発砲するようにするにはどうすればよいでしょうか。