とりあえず入力を取得するには・・・?
GetAsyncKeyState関数で キーボードの押下状態、マウスボタンの押下状態を取得することが可能です
ただし、ジョイパッドやマウスホイールに関してはこの関数では取得できません
また、レスポンスが若干悪いです(押してから取得までの間にタイムラグがある)
レスポンスを改善して、マウスホイールや複数のジョイパッドの情報を取得するためには
ハードウェアレイヤーから直接入力状態の取得ができるDirectInputを用いる必要があります
ただ、音ゲーなどリアルタイム性が重視されるゲームでない限り
無理してDirectInputを使わなくてもGetAsyncKeyState関数で
十分かと思うのでこの講座ではDirectInputに関しては端折ります
今回使うファイルは次のようになってます。どぞー(-ω-)つ旦
・input.cpp
zipでほしい人はこちら
・input.zip
#include <stdio.h> #include <windows.h> // GetAsyncKeyStateに必要 int main() { while(true){ char key = 'A'; // 大文字 // キー入力を取得 if(GetAsyncKeyState(key)){ printf("%c キーが押された\n",key); } if(GetAsyncKeyState(VK_LBUTTON)){ printf("マウス左ボタンが押された\n"); } if(GetAsyncKeyState(VK_MBUTTON)){ printf("マウス中ボタンが押された\n"); } if(GetAsyncKeyState(VK_RBUTTON)){ printf("マウス右ボタンが押された\n"); } // ESCAPEキーで終了 if(GetAsyncKeyState(VK_ESCAPE)) break; } return 0; }