★マウス座標の取得★


今回からマウスの扱いについて説明します。

座標を表示したいので、前回のプログラムをそのまま使います。

最初はマウス座標の取得をやってみましょう。


マウス座標の取得


マウス座標の取得はエンジンクラスの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);
}

では、実行してみましょう。

<実行結果 クライアント領域のみ>

マウスを動かすと座標も変わります。

クライアント領域の左上が原点だと言う事も分かると思います。


次へ

戻る

目次へ