ボタンを(個人的に)使いやすくする
 基本的に、ボタン処理は3つのブロックに分かれます。
1.ボタン登録
2.ボタン待ち(btnwait)
3.ifで処理分岐
 このうち、個人的に3.がどうも納得いってなかったんですよ。ifが縦にずらーっと並ぶし、複数の処理を行う場合は:で命令をつないで、1行がとんでもない長さになるし。
 これをどうにかできないかと思い立ち、現在考えているのが以下のような仕様。

 まず3.で行われうる全ての処理をサブルーチン化。そしてボタン登録するときに、そのサブルーチン(ラベル)も一緒に保存し、ボタン番号とサブルーチンが一対一に対応するようにします。ボタン待ち後、forループを回して押されたボタンと保存されているボタン番号を比較、真ならばサブルーチンに飛び処理終了、forループが回りきってしまったら再度ボタン待ちを行います。
 もしこれをライブラリ化できたら、ボタン周りがこんな風にすっきりするはず。

;ボタン登録
btn_setSpriteButton 1,1,*action
btn_setSpriteButton 2,2,*clear
btn_setAction -1,*menu ;右クリックされたらメニューへ

;ボタン待ち
btn_wait


 あと、できればボタン番号はライブラリで自動的に確保するようにすれば、ボタン番号を気にせずにスクリプトを書けると思うのですがどうでしょう。
[PR]
by lyricist_m | 2008-04-11 10:30 | NScripter
<< ラベルログ! gettaglog >>