BREW ブロック崩しゲーム 〜 BREW C++ ゲームプログラミング 〜
キー イベントの処理
キー イベントの処理は、OnKey メンバ関数で行います。
このブロック崩しでは、アプリケーションの状態に応じてそれぞれのキーに対応する挙動が異なりますが、基本的には次のようになっています。
// キー ハンドラ
Bool Block::OnKey(UInt16 key)
{
// ここにキーが押されたときの処理を記述します。
...
switch(key) {
case AVK_4:
case AVK_LEFT:
if (_racket.racket.GetLeft() > _gameArea.GetLeft()) {
_racket.velocity.Set(-_racketSpeed, 0);
}
break;
case AVK_5:
case AVK_SELECT:
_racket.velocity.Set(0, 0);
break;
case AVK_6:
case AVK_RIGHT:
if (_racket.racket.GetRight() < _gameArea.GetRight()) {
_racket.velocity.Set(_racketSpeed, 0);
}
break;
default:
break;
}
return true;
...
return false;
}
押されたキー コードが変数 key に保持されていますので、その値に応じて処理を分岐します。実際のキーとキー コードとの対応関係は、『BREW API リファレンス』 - 「キーコード」を参照してください。
ポイントは、そのキーを受け付けたら true を返し、逆に無視したら false を返すことです。無視したキー イベントは BREW により処理されます。
このブロック崩しでは [4] か左キーでラケットが左に、[6] か右キーでラケットが右に動き出し、[5] か選択キーでラケットが静止します。



















