bexecでもbtnareaを使いたい
どんだけ困ってるんだろうか、と。おせっかいながらやってみた。
define節に書く分
defsub bexec defsub btnarea ; 以下、これだけの変数を使うので、100〜105はかぶらないように適当に変更すること。 numalias bexec_res1,100 numalias bexec_res2,101 numalias mouse_x,102 numalias mouse_y,103 numalias btnarea_y,104 numalias btnarea_flag,105 numalias bexec_interval,30 ; btimeに渡す数値。30くらいなら、秒間30フレームくらい?
game以下、*start以上
*btnarea mov %btnarea_flag,1 getparam %btnarea_y _btnarea %btnarea_y return *bexec getparam s%bexec_res1,i%bexec_res2 if %btnarea_flag=0 _bexec $%bexec_res1,%%bexec_res2:return *bexec_loop btime bexec_interval _bexec $%bexec_res1,%%bexec_res2 notif $%bexec_res1="TIMEOUT" return getmousepos %mouse_x,%mouse_y if %btnarea_y>0 notif %mouse_y>%btnarea_y mov %%bexec_res2,-4:return if %btnarea_y<0 if %mouse_y>0-%btnarea_y mov %%bexec_res2,-4:return goto *bexec_loop