例えば、新・ゲームプログラミングの館さんで紹介されている
3.1 キーの入力に応じてキャラを移動させる
ではgpUpdateKey関数をメインのソースファイルの初めに書いて、計算部分もメインループの中に直接書いてあるのを
if( Key[ KEY_INPUT_RIGHT ] >= 1 ){ // 右キーが押されていたら
x++; // 右へ移動
}
if( Key[ KEY_INPUT_DOWN ] >= 1 ){ // 下キーが押されていたら
y++; // 下へ移動
}
if( Key[ KEY_INPUT_LEFT ] >= 1 ){ // 左キーが押されていたら
x--; // 左へ移動
}
if( Key[ KEY_INPUT_UP ] >= 1 ){ // 上キーが押されていたら
y--; // 上へ移動
}
そうすれば違う計算(例えば、キー入力に応じて違う画像を描画する)の時に応用が利くし、メインのループ内が長くならずにすむ。
と素人なりに考えています。
自分でも、配列の変数Keyのポインタをその計算関数に引数として入力状態を渡そうとしたり、いろいろしてみましたが
どうも上手くいきません。
要するに、やりたいことは、計算関数から、キー入力状態を格納してある変数Keyを参照して、それに応じて処理をしたいということです。
よろしくお願いします。
開発環境
Visual C++ 2008
Windows Vista