とりあえず入力を取得するには・・・?

SIZE(20){ COLOR(#ffaa00){GetAsyncKeyState関数}}でSIZE(20){ COLOR(#ffaa00){キーボードの押下状態、マウスボタンの押下状態を取得することが可能}}です
ただし、ジョイパッドやマウスホイールに関してはこの関数では取得できません
また、レスポンスが若干悪いです(押してから取得までの間にタイムラグがある)

レスポンスを改善して、マウスホイールや複数のジョイパッドの情報を取得するためには
ハードウェアレイヤーから直接入力状態の取得ができるDirectInputを用いる必要があります
ただ、音ゲーなどリアルタイム性が重視されるゲームでない限り
無理してDirectInputを使わなくてもGetAsyncKeyState関数で
十分かと思うのでこの講座ではDirectInputに関しては端折ります

今回使うファイルは次のようになってます。どぞー(-ω-)つ旦
・&ref(input.cpp);
zipでほしい人はこちら
・&ref(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;
 }

前:DirectX講座1回
次:DirectX講座3回

#vote((^ω^)楽勝[28],アッー!![70],ティロフィナーレ!![21])
#vote((^ω^)楽勝[50],アッー!![71],ティロフィナーレ!![21])


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS