| ハクです。
Waitコマンドとセットで使われるという性質上、 HotPointコマンドを使う場合、そういう動作はさせられません。
全く別の方法でよければ、
・Doコマンドでループを作る ・そのループの中で変数MouseX,MouseYを使い、マウスカーソルの位置を取得 ・そのX,Yがボタンの範囲内である場合にPaintPictureで画像を表示する(違うなら消す) ・マウスのボタンが押された時、そのX,Yがボタンの範囲内である場合に処理
という処理をしてやれば同じことができます。
今回の場合(X:25〜55 Y:125〜155)なら大筋は
Do While (KeyState(2) <> "1") If (125 <= MouseY ) And (MouseY <= 155) And (25 <= MouseX ) And (MouseX <= 55) Then PaintPicture ... Refreshなど Else # 消すなり別の画像を表示するなり EndIf If KeyState(1) = "1" Then # 左クリックされた場合の処理(ボタンの範囲内なら…) EndIf Wait 0.1 Loop
といった感じになります。(ループからの脱出はマウス右クリックで)
重ねて言いますが、これは全く別の方法であり もし使う場合は全てを一から考え直す必要が出てきます。
それでもやってみようと思われる場合は、 私製のシナリオで使っているショップのインクルで こういう処理(ただし画像ではなく解説文を表示)をしているので もしよろしければそちらもご覧になって下さい。 (※一話のクリア後に追加なのでサンプルセーブデータの使用を推奨)
後半少々宣伝風になってしまいましたが、参考になれば幸いです。それでは。
|