トップページ > 記事閲覧
小画面でのマウスカーソル消去
名前:顔芸 日時: 2013/08/13 12:33

こんちにちは. この度,マウスを用いてファストパーソンシューティングゲームのような視点操作を実現したいと思ったのですが, SetMouseDispFlag関数でカーソルを非表示にしても,ChangeWindowMode関数で窓を小さくしている時に, 勢いよくマウスを動かすと画面外にカーソルがチラチラ見えて煩わしいことになってしまいますf^^; 以下に問題のソースコードを掲載します. #include"DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { if (DxLib_Init() == -1) { return -1; } ChangeWindowMode(TRUE); SetUseZBuffer3D(TRUE); SetWriteZBuffer3D(TRUE); SetDrawScreen(DX_SCREEN_BACK); SetMouseDispFlag(FALSE); int pos_x, pos_y; const int ORIGIN_X = 320, ORIGIN_Y = 240, ROT_CONST = 1000; float delta_h, delta_v, rotate_h = 0.0f, rotate_v = 0.0f; SetMousePoint(ORIGIN_X, ORIGIN_Y); while (ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0) { clsDx(); ClearDrawScreen(); GetMousePoint(&pos_x, &pos_y); delta_h = pos_x - ORIGIN_X; delta_v = pos_y - ORIGIN_Y; delta_h /= ROT_CONST; delta_v /= ROT_CONST; rotate_h += delta_h; rotate_v += delta_v; //マウスカーソルを基点に復帰 SetMousePoint(ORIGIN_X, ORIGIN_Y); printfDx("delta.x = %f, delta.y = %f\n", delta_h, delta_v); printfDx("rotate.x = %f, rotate.y = %f", rotate_h, rotate_v); SetCameraPositionAndAngle(VGet(0.0f, 0.0f, 0.0f), rotate_v, rotate_h, 0.0f); DrawSphere3D(VGet(0.0f, 0.0f, 600.0f), 80.0f, 16, GetColor(255, 0, 0), GetColor(0, 0, 0), FALSE); DrawSphere3D(VGet(0.0f, 0.0f, -600.0f), 80.0f, 16, GetColor(0, 255, 0), GetColor(0, 0, 0), FALSE); DrawSphere3D(VGet(600.0f, 0.0f, 0.0f), 80.0f, 16, GetColor(0, 0, 255), GetColor(0, 0, 0), FALSE); DrawSphere3D(VGet(-600.0f, 0.0f, 0.0f), 80.0f, 16, GetColor(255, 0, 255), GetColor(0, 0, 0), FALSE); ScreenFlip(); } DxLib_End(); return 0; } カーソルは毎フレーム 基点に復帰しているのでこれ以上間隔を詰めることができません. 窓を小さくした状態でカーソルを激しく動かしても,窓の外にカーソルが飛び出ない方法はないでしょうか. ご回答よろしくお願い致しますm(_ _)m
メンテ

Page: 1 |

Re: 小画面でのマウスカーソル消去 ( No.1 )
名前:タミア 日時:2013/08/17 11:41

SetValidMousePointerWindowOutClientAreaMoveFlag (マウスポインタがウインドウのクライアントエリアの外にいけるかどうかを設定する TRUE:いける FALSE:いけない) を使ってみてください
メンテ
Re: 小画面でのマウスカーソル消去 ( No.2 )
名前:顔芸(解決) 日時:2013/08/20 10:24

こんな関数があったとは! うまくいきました ご回答ありがとうございましたm(_ _)m
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存