void CPlayer::Init() { /* 省略 */ missile = *(CSound*)FindItemBox("missile"); shoottime = 0; } void CPlayer::Exec() { /* 省略 */ // ↓追加するプログラムコード if(shoottime > 10 && (input->IsKeyDown(DIK_SPACE) || input->IsButtonDown(0))) { // 最後の発射から10フレーム経っていれば // オート連射の入力を受け付ける Shoot(); shoottime = 0; } else if(shoottime > 5 && (input->IsKeyPressed(DIK_SPACE) || input->IsButtonPressed(0))) { // 最後の発射から5フレーム経っていれば // マニュアル連射の入力を受け付ける Shoot(); shoottime = 0; }else{ shoottime++; } sprite.Draw(x, y); } void CPlayer::Shoot() { AppendObject(new CPlayerBullet(x, y - 8.0f, d2r(0.0f)), BULLET_PRIORITY, true); }