今回からマウスの扱いについて説明します。
座標を表示したいので、前回のプログラムをそのまま使います。
最初はマウス座標の取得をやってみましょう。
マウス座標の取得はエンジンクラスのGetMousePosition関数で行えます。
GetMousePosition関数はPOINT構造体を戻す関数です。
POINT構造体はSceneクラスに用意されていませんので、自分で追加します。
まずは、「SceneGame.h」を開いてください。
privateの中に次のコードを追加してください。
private: POINT m_point; }; |
続いて「SceneGame.cpp」を開いてください。
「Update関数」に次のコードを書きましょう。
//=============================================================================
// シーンの実行時に繰り返し呼び出される更新処理関数
//=============================================================================
void SceneGame::Update()
{
m_point = m_pEngine->GetMousePosition();
}
|
これでマウスの座標が取得出来ました。
このままでは座標が分かりませんので、「Draw関数」で座標を表示します。
「Draw関数」のDrawPrintf関数を変更しましょう。
//============================================================================= // シーンの実行時に繰り返し呼び出される描画処理関数 //============================================================================= void SceneGame::Draw() { m_pEngine->DrawPrintf(0, 0, FONT_GOTHIC, D3DCOLOR_XRGB(255, 255, 255), "X = %d : Y = %d", m_point.x , m_point.y); } |
では、実行してみましょう。
<実行結果 クライアント領域のみ>
マウスを動かすと座標も変わります。
クライアント領域の左上が原点だと言う事も分かると思います。