ゲーム作りで学ぶ! 実践的C言語プログラミング > 第1部 DXライブラリの基礎 > 第4章 入力関係処理の基礎 > マウス座標の取得


[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

マウス座標の取得 応援する 

マウスカーソルの位置情報を取得するには,GetMousePoint関数を利用します. この関数の定義は以下のようになっています.

int GetMousePoint( int *XBuf, int *YBuf );

XBuf, YBufにはマウスカーソルのx座標,y座標が代入されます.

マウスカーソルの座標を取得する際,マウスカーソルが表示されて いなければ意味がありません. そこで,SetMouseDispFlag関数を利用して,マウス表示の有無を設定する必要があります.

int SetMouseDispFlag( int DispFlag );

DispFlagにはTRUE又はFALSEを渡します. TRUEでマウスカーソルが表示されます.

では,これらの関数を利用して,マウスの座標を取得するプログラムを 作成してみましょう.

foundation-15.cpp
#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
                                   LPSTR lpCmdLine, int nCmdShow ) 
{
        int white, posX, posY;

        //ウィンドウモードで起動
        ChangeWindowMode( TRUE );
        //DXライブラリ初期化
        if( DxLib_Init() == -1 ) {
                return -1;
        }
        SetDrawScreen( DX_SCREEN_BACK );

        //マウスを表示状態にする
        SetMouseDispFlag( TRUE );
        //白色取得
        white = GetColor( 255, 255, 255 );

        //ESCAPEキーが押されるまでプログラムを続行
        while( CheckHitKey( KEY_INPUT_ESCAPE ) == 0 ) {
                ClearDrawScreen();
                if( ProcessMessage() == -1 ) {
                        break;
                }
                //マウスポインタの座標を取得
                GetMousePoint( &posX, &posY );
                //座標を表示
                DrawFormatString( 20, 20, white, "マウスの座標( %d, %d )", posX, posY );
                //裏画面反映
                ScreenFlip();
        }

        //DXライブラリ終了処理
        DxLib_End();
        return 0;
}

このプログラムの実行結果は,下図となります.


[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

このサイトについて|ヘルプ|Q&A|個人情報保護|プライバシーポリシー|利用規約|コメント・トラックバック規約|削除規程|広告掲載
Copyright (c) 2005-2007 Time Intermedia Corporation