誰でも方法を教えてもらえますか?
これまでにこれを行ったことがないので、使用するライブラリと、入力ではなく命令としてキーが押されたコマンドを呼び出す方法がわからない..
Visio C++ で OpenGL プログラムを書いています。
誰でも方法を教えてもらえますか?
これまでにこれを行ったことがないので、使用するライブラリと、入力ではなく命令としてキーが押されたコマンドを呼び出す方法がわからない..
Visio C++ で OpenGL プログラムを書いています。
OpenGL にズームインすることと、キーボード入力を取得することは、2 つの異なることです。GUI (MFC、wxWidgets、Qt、.Net) を使用して、キーボード イベントを入力としてキャプチャできます。次に、OpenGL 関数 (glTranslate) を呼び出してズームを変更し、シーン内のすべてを再描画できます。
Win32では、次のようにしてキーの状態を取得できます。
#define KEY_DOWN(vKey) (GetAsyncKeyState(vKey) & 0x8000) ? true : false
#define KEY_UP(vKey) (GetAsyncKeyState(vKey) & 0x8000) ? false: true
vKeyは、キーのASCII値を表すintです。
「ズーム」キーが押されていることがわかったら、翻訳を行うことができます
glPushMatrix();
glTranslate3f(5.0,0.0,0.0); // moves the camera +5 down the x-axis
...
glPopMatrix();
もちろん、これはビューの方向に依存するため、現実的には、より複雑なコードを使用してズームを実行します。また、メッセージループ内に配置され、マウスの位置やマウスボタンなど、アプリが使用するすべてのキーの状態を保持する、より複雑なキー状態関数があります。