マウスの座標位置を取得して○を動かそうとしています。
マウスの初期座標をウィンドウの中央位置にしようと思い、
mouse命令を使って
としました。
mouse ginfo_winx/2,ginfo_winy/2
しかしながら次のスクリプトを実行すると、左上(x=0,y=0の位置)に1/4の円が
ちらっと描画されてしまいます。
*********************************************************************
最初に書いたスクリプト
*********************************************************************
#Include <hspdef.as> r=50 mouse ginfo_winx/2,ginfo_winy/2 ;マウスの初期座標を設定 screen 0 cls 4 *main redraw 0 color ,,,:boxf color 255,255,255 circle mousex-r,mousey-r,mousex+r,mousey+r wait 1 redraw 1 goto*main
マウスをまったく触っていない状態だとmousex , mouseyが 0 のまま、
mouse命令で初期値を設定しても、それが有効になるのはマウスを触った後、
ということなのかな、とひとまず理解しました。
そこで、mousex , mousey が 0 のときは描画しないようにif文を付け加えてみました。
*********************************************************************
自分で手直ししたスクリプト
*********************************************************************
#Include <hspdef.as> r=50 mouse ginfo_winx/2,ginfo_winy/2 screen 0 cls 4 *main redraw 0 color ,,,:boxf color 255,255,255 if mousex!=0 & mousey!=0{ ;←このif文を追加 circle mousex-r,mousey-r,mousex+r,mousey+r } wait 1 redraw 1 goto*main
一応、結果としては思っていたものが実現できているのですが、釈然としません。。。
mousex , mousey の初期値を 0 以外の数値にする方法ってありませんでしょうか?
よろしくお願いいたします。