- ベストアンサー
動いているターゲットをクリックしたらポイントが増える方法
visual basicであるゲームを作りたいのですが、一つの動いているターゲットをマウスでクリックするとポイントが増えていくというものを作りたいのです。 ターゲットも動いてcloseすると自分の点数結果が出る仕組みになっているのですが、ターゲットをクリックしてもポイントが上がりません。そのときのコードを教えてもらえると助かります。 また、時間制限内でこのゲームをしたいのですが、そのときのタイマー(1分以内にどれだけターゲットを触れるか?)もできればお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
書く前に簡単なのを一回試しに作ってみましたが動きました。 ですのでプログラムにおかしいところがあるとか、 「動きが速いなどの理由で押したと思った瞬間に違うところに移動している」とかがあるのだとと思います。 確認ですがもちろんPictureBoxのClickイベントで処理してますよね? 経過時間ですが簡単な方法は・・・ timerイベントのintervalを一秒になるように(たしか1000)に設定 time用のinteger型をつくる(0で初期化) timerイベントがくるたびに1足していく。 timeが60か判定判定 といったかんじですがtimerイベントはあまりあてにならない(ずれたりもする)ので、 date型の引き算による方法を使った方法にした方法が最適だと思います。 ですが経過時間を求める関数の名前は忘れてしまったので使うなら頑張って探してください。
その他の回答 (2)
- hawkwind
- ベストアンサー率34% (160/469)
>ターゲットをクリックしてもポイントが上がりません PictureBoxでクリックのイメージに対応するイベントはMouseDownです。 >そのときのコードを教えてもらえると助かります。 そちらのコードが分からないと教えようがないと思いますが^^; >そのときのタイマーもできればお願いします。 Timerイベントを用いればいいでしょう。 ゲームの短い時間ですから、十分許容範囲内でしょう。 具体的にはグローバル変数でフラグ(仮にLoopFlg)を宣言します。 メインルーチンでは While LoopFlg=True のように記述して TimerEventの中で LoopFlg を False にします。 LoopFlg を False にすることによって他の条件でもゲーム終了できます。
ターゲットはボタンや画像とかですか? それともピクチャーボックスに書かれた絵とかですか?
補足
ターゲットはピクチャーボックス(ゴキブリの画像)で、それをクリックしたら得点が増えるというゲームです。