今ダイアモンドゲームと言うボードゲームを実装中なのですが、
マウスがクリックされた時に呼び出し、どの場所がクリックされたか保存、二回目以降ならその場所にコマを移動させる事が出来るか判定する関数を呼び出し、移動可能なら移動させるという関数を作りました。
そこでこの関数(RespondToMouose)をマウスが一回クリックされたときに一回だけ呼び出したいです。
ところが
と書いたところ、マウスが押されている間何回もその関数を呼び出してしまい、誤作動を起こしてしまいました。
マウスが長い間押され続けていても一回のみその関数を呼び出したいときはどのように書けばいいでしょうか?
関数をマウス1クリックにつき一回だけ呼び出したい。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: 関数をマウス1クリックにつき一回だけ呼び出したい。
ゲームプログラミンの館にあるキーボードと同じ処理を実装すればよいかと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- tk-xleader
- 記事: 158
- 登録日時: 13年前
- 連絡を取る:
Re: 関数をマウス1クリックにつき一回だけ呼び出したい。
tk-xleaderさんのコードですが、
と書くことができます。
ちなみに だとボタンが離されたときになります。
Mouse = GetMouseInput();
if (Mouse ^ prevMouse & Mouse & MOUSE_INPUT_LEFT) {
RespondToMouse();
}
prevMouse = Mouse;
ちなみに だとボタンが離されたときになります。