| 0からのゲームプログラミング > 自機の弾 4 |
| Back Next |
| 更新日 2004.02.28 |
| 自機の弾 4 |
| 前回、自機の弾を複数個発射させるようにしました。しかし、キーを連打しなければ弾が出ませんよね。もちろん、これでも構わないのですが、個人的にはキーを押し続けている間、弾を発射させたいですね。(腱鞘炎になりますので、、、。) JikiShot.cpp で、CJikiShot クラスのメンバ関数 Move に以下の弾を発射させるコードがありました。 JikiShot.cpp <Move メンバ関数の一部> |
|
ここで、IsKeyPush を IsKeyDirect に変更して、Zキーを押し続けている間、弾を発射させるように変更してみましょう。CInput クラスの詳細はこちらにありました。 『なんだ、簡単じゃん。』と思われるかも知れませんが、試してみると面白い現象が起こります。直ぐ『これだけじゃ駄目だ。』と、予想された方も多いことと思います。 そうです。Zキーを押し続けていると、フレーム毎に [ 60分の1秒につき1個 ] 弾が発射されますね。(^^;.... これではちょっとアレですので、間隔を空けるようにしてみます。 CJikiShot クラスにメンバ変数を一つ追加します。ここでは、m_unInterval というメンバ変数名にしてみました。 JikiShot.h <CJikiShot クラスの定義の一部> |
|
そして、忘れないうちにコンストラクタで初期値を代入しておきます。 JikiShot.cpp <CJikiShot クラスのコンストラクタ> |
|
先程の Move メンバ関数を少し変更します。m_unInterval を 1 ずつカウントアップさせ、m_unInterval が 10 以上で、かつ、Zキーが押されている場合に限り弾を発射させるようにしています。最後に、弾を発射させた場合には、m_unInterval を 0 に戻すのを忘れずに。 また、10 という数値は適当に決めたものであり、ゲームに応じて変更して下さいね。 JikiShot.cpp <Move メンバ関数の一部> |
|
今回の内容のプログラムは、こちらのページにあります。前半の内容のプログラムは、Vol51_1.exe で、後半のものは Vol51_2.exe となっております。 コラム - バックアップを取ろう |
皆さん、バックアップはしていますか。ハードディスクは結構故障し易いパーツです。万が一の為に、定期的にバックアップを取るように心掛けましょう。プログラミングする頻度が多くなれば、出来れば毎日でもしておきたいものです。これは、自分自身を守る為です。クリエイターなら、皆している筈です。 マイ ドキュメント、メール、お気に入り、デスクトップ、etc. |
| 【スポンサード リンク】 |
| Back Next |
| 0からのゲームプログラミング > 自機の弾 4 |