Re: マウスカーソルの変更について ( No.1 ) |
- 名前:優柔不断 日時:2007/08/11 21:58
ウィンドウクラスごと変えてしまうのがいい方法です。どっちの方法にも当てはまりませんが、
SetClassLong()関数を使えば問題ありません。それに、基本的にゲーム作るのならばScreenFlip()関数
はほぼ必須ですから、別にカーソル表示するぐらいでそんなに影響ないと思いますが。
|
Re: マウスカーソルの変更について ( No.2 ) |
- 名前:重蔵 日時:2007/08/11 23:42
優柔不断さん、アドバイスありがとうございます。
おっしゃったように、SetClassLong()を使いウィンドウクラスを再設定することで成功しました。
SetCoursorは一時的にセットするだけで、クラス自体を上書き変更するものではなかった訳ですね。
wait や await や stop などを実行する事で、マウスカーソルがウィンドウクラスで設定されているものに戻ってしまうため、
アプリケーション固有のカーソルを実現することはできなかったようです。
ProcessMessage()が境であった事も今ならうなづけますね。
|
Re: マウスカーソルの変更について ( No.3 ) |
- 名前:優柔不断 日時:2007/08/19 11:38
ただし、それはDxライブラリの関数ではなくて、Win32 APIの関数ですので、ご注意ください。
|
Re: マウスカーソルの変更について ( No.4 ) |
- 名前:憂煉 日時:2007/08/19 13:50
補足です。マウスの表示は基本的にGUIが使われるので画像にするほうが安定性が高いかもです。
|
Re: マウスカーソルの変更について ( No.5 ) |
- 名前:優柔不断 日時:2007/08/19 20:51
確かに、それならこんな感じでしょうか、
カーソルグラフィックの読み込み
↓
マウスの非表示化
↓
(1)
マウス位置の取得
↓
カーソルの表示(ScreenFlip使用)
↓
(1)へ戻る
戻す時は
マウスカーソルの表示
↓
カーソルグラフィックの破棄
でしょうか。
|