getmouseoverサンプル
 サクッと作ってみました。

;mode320,value100
*define
deletemenu
globalon
game

*start
setwindow 8,8,15,10,18,18,-1,0,0,1,1,#999999,0,0,319,239

mov %0,30
mov $0,"■"

mov %10,31
lsp %10,":s#FFFFFF#FF0000スタート",128,111
print 1
btndef clear
spbtn %10,%10
*start_loop
btnwait %11
if %11 == %10 csp %10:resettimer:goto *start2
goto *start_loop

*start2
if %0 <= 0 gettimer %0:goto *result
rnd %1,320 - 20
rnd %2,240 - 20
lsp %0,":s#FFFFFF" + $0,%1,%2
print 1

btndef clear
spbtn %0,%0
getmouseover %0,%0

*loop
btnwait %10
if %10 > 0 lsp %0,":s#FF0000" + $0,%1,%2:dec %0:goto *start2
goto *loop

*result
if %100 == 0 mov %100,10000000
if %100 > %0 mov %100,%0
今回の結果:%0ミリ秒
ベストタイム:%100ミリ秒¥

mov %10,31
lsp %10,":s#FFFFFF#FF0000コンティニュー",104,111
print 1
btndef clear
spbtn %10,%10
*result_loop
btnwait %0
if %0 == %10 csp -1:goto *start
goto *result_loop


 次々に表示される■にマウスカーソルを合わせていくゲームです。
 スタートをクリックするとゲーム開始。30個カーソルを合わせるとゲームクリア。今回の結果とベストタイムを表示します。

 ボタンにカーソルが合ったら特定のスプライトを表示、なんてことがしたいならexbtnで事足りますが、もっと複雑なことがしたいならgetmouseoverを使うべきなんでしょうね。今は用途が思いつきませんが、そのうち使ってみたいです。
[PR]
by lyricist_m | 2008-08-19 18:04 | NScripter
<< オーバーロード可能? btndefと組み合わせて使う命令 >>