|
|
2007/7/22(Sun) 16:07:57|NO.9662
こんな単純なスクリプトですが、少し変というか、自分のミスというか、
まだあまりHSPに慣れてないので良く分からない状態になっています。
スクリプト
repeat
redraw 0
color 255,255,255
boxf 0,0,100,100
color 0,0,0
if masmode=0 : if 30>mousex>0<mousey<30 : color 0,0,0 : boxf 1,1,29,29
if masmode=0 : if 60>mousex>30<mousey<60 : color 0,0,0 : boxf 31,31,59,59
if masmode=0 : if 90>mousex>60<mousey<90 : color 0,0,0 : boxf 61,61,89,89
await 10
redraw 1
loop
※masmodeは変数
疑問点としては、マウスの位置に対応した位置に黒い四角を表示したいのですが
恐らく自分のミスかバグ(あまりバグのせいにはしたくないんですが)で
3つの■(boxf 1,1,29,29とboxf 31,31,59,59とboxf 61,61,89,89)が
同時に表示されてしまいます。
どなたか解決策を教えていただけ無いでしょうか?
|
|
2007/7/22(Sun) 16:24:41|NO.9663
こういうことでしょうか?
repeat
redraw 0
color 255,255,255
boxf
color
boxf mousex,mousey,mousex+28,mousey+28
await 10
redraw 1
loop
|
|
2007/7/22(Sun) 16:30:38|NO.9664
すいません。私の説明不足でした。
どのようなスクリプトを書きたかったかというのは
マウスが特定の場所と重なった時にその場所が黒い四角になる、
というものです。
説明下手で本当に申し訳ありません。
|
|
2007/7/22(Sun) 16:48:37|NO.9666
蟹蒲鉾さんのスクリプトを変えてみました。
repeat
redraw 0
color 255,255,255
boxf 0,0,100,100
color 0,0,0
if masmode=0 : if 0<mousex & mousex<30 & 0<mousey & mousey<30: color 0,0,0 : boxf 1,1,29,29
if masmode=0 : if 30<mousex & mousex<60 & 30<mousey & mousey<60 : color 0,0,0 : boxf 31,31,59,59
if masmode=0 : if 60<mousex & mousex<90 & 60<mousey & mousey<90 : color 0,0,0 : boxf 61,61,89,89
await 10
redraw 1
loop
または、
repeat
redraw 0
color 255,255,255
boxf 0,0,100,100
color 0,0,0
if masmode=0 : if mousex=limit(mousex,0,30) & mousey=limit(mousey,0,30): color 0,0,0 : boxf 1,1,29,29
if masmode=0 : if mousex=limit(mousex,30,60) & mousey=limit(mousey,30,60) : color 0,0,0 : boxf 31,31,59,59
if masmode=0 : if mousex=limit(mousex,60,90) & mousey=limit(mousey,60,90) : color 0,0,0 : boxf 61,61,89,89
await 10
redraw 1
loop
とすればできるはずです。
|
|
2007/7/22(Sun) 17:00:46|NO.9667
皆様のご協力のおかげで解決することができました。
Dさん、KENTAさん、ありがとうございました。
|
|