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

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

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

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

選択肢 投票
(^ω^)楽勝 20  
アッー!! 70  
ティロフィナーレ!! 21  

添付ファイル: fileinput.zip 329件 [詳細] fileinput.cpp 478件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-09-15 (金) 11:24:19