<   2008年 08月 ( 6 )   > この月の画像一覧
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と組み合わせて使う命令
btnarea
btndown
getcursor
getenter
getfuntion
getinsert
getmouseover
getpage
getskipoff
gettab
getzxc
spclclk
textbtnoff
transbtn
useescspc
usewheel

 以上、NScripter API Reference (Unofficially) さんから抜粋させていただきました。いつもお世話になってます。
 getmouseover命令、初めて知りました。これを使ったら面白いことができそうです。
[PR]
by lyricist_m | 2008-08-19 10:54 | NScripter
表示形式のバグ
 メニューバーの表示形式から「一ページごと」を選択した場合に発生するバグ。

・改行を無視する/(スラッシュ)が無効になる

 他にもあったはずなんだけど、何だったかな。
 思い出したら、或いはまた見つけたら追加します。
[PR]
by lyricist_m | 2008-08-19 09:27 | NScripter
transbtnサンプル
 transbtnサンプルをアップしました。Delusionist's Utopiaから落とせます。

 transbtnでググってもあまりヒットしなかったもので、「これを知らないなんて勿体無い!」と思い作成。
 transbtnを使うことでクリッカブルマップ的なことが可能です。
 夏コミで出したアイマスゲーでは、transbtnを使うことでタッチイベントを実装しました。今回はやりませんでしたが、クリックだけでなくドラッグにも対応しています。そっちのサンプルスクリプトもそのうち出しましょうかね。


 謝辞を書くのをうっかり忘れてました。
 今回のサンプルスクリプトでは、nscrplg様の「nscrpng.spi」と背景素材店様の背景素材を使用させていただきました。
 ありがとうございました。
[PR]
by lyricist_m | 2008-08-18 20:15 | NScripter
getlogとgetlogtextの違い
 サポートBBSでgetlogについての質問があったので、自分も気になって調べてみた。特に改行について。検証は最初のver2.82で行いました。

1.getlogで取得したテキストについて
 getlogで取得したテキストにはルビ情報、改行情報が含まれます。改行はLF(0x0A)で表されます。

2.getlogtextで取得したテキストについて
 getlogtextで取得したテキストにはルビ情報のみが含まれます。改行情報は含まれていません。データ的にはgettextでテキストを取得した場合と変わりません。

3.strspと改行
 getlogで取得したテキストをstrspに渡すと、ちゃんと改行した状態で表示されます。LFと¥を織り交ぜてもエラーは出ませんでした。

4.自作バッファ
 自分でログのバッファを作る場合には、textgosubに飛ぶごとにテキスト+改行情報をバッファに溜めて、改ページ待ちならバッファを一つ進める、とかそんな感じになると思います。


 getlogについて調べていて、初めてgetlogtextの存在を知ったんですが……用途が思いつきません。どうするんだろ、これ。
[PR]
by lyricist_m | 2008-08-17 16:31 | NScripter
絶賛修羅場中
 気がついたら放置しまくってたので、久しぶりに更新。

 コミケまであと1週間。
 現在、ゲーム製作が佳境を迎えております。
 といっても、まだシナリオすら貰ってなかったりするのですが、まぁギリギリなのはいつものことと言えばいつものことです。

 リンクリストは、作業の合間にぼちぼち進めてます。
 追加、削除、検索、取得が出来るようになりました。マウスジェスチャーと組み合わせて使うことを想定して作っているので、一般的なリンクリストとは命令の仕様が多少異なります。余裕があれば一般的なリンクリストとマウスジェスチャー用にカスタムしたリンクリスト、どちらも準備してみたいところです。
[PR]
by lyricist_m | 2008-08-07 04:48 | ゲーム製作