ver.2.83のbg/strsp命令テスト、及びRGB命令
 今回更新されたのはbg命令とstrsp/strsph命令の計3個の命令です。これらで色指定を渡す際に、今までのカラーコード形式に加えて文字列での指定ができるようになりました。
bg black,1
bg "black" ,1
bg #ff0000,1
bg "#ff0000",1

 上記は全部実行可能です。また文字変数での指定も可能になったので、ある程度動的に色を変更することが出来ます。まぁbg命令で動的に色を変更する場合が思いつかないので、使うのはおそらくstrspの方になるでしょうが。
 さて、ここで注意事項が1つ。本家サポートBBS情報ですが、ver2.83でstrspを使う場合、直接文字列で指定すると表示文と解釈されてしまうそうです。上記の4行のスクリプトで言うと偶数行にある形式ですね。これは今後改善されるそうなので、strspを使いたい人はしばし待ちましょう。
 また、今後のテスト版なんかを最終的にver.2.90として統合するそうなので、実際にゲームに使用するのはそこまで待った方が無難かもしれません。


 ところで、またBBSネタなのですが。RGB命令云々って話が出てたので、試しに作ってみました。
*define
defsub RGB
defsub RGB_convert
game

*RGB_convert
getparam s%10,%11
mov $11,""
for %12 = 1 to 2
mov %13,%11 mod 16
if %13 < 10 itoa $12,%13
if %13 = 10 mov $12,"A"
if %13 = 11 mov $12,"B"
if %13 = 12 mov $12,"C"
if %13 = 13 mov $12,"D"
if %13 = 14 mov $12,"E"
if %13 = 15 mov $12,"F"
mov $11,$12 + $11
div %11,16
next
add $%10,$11
return

*RGB
getparam s%0,%1,%2,%3
mov $5,""
for %4 = 1 to 3
if %%4 <= 0 add $5,"00":jumpf
if %%4 >= 255 add $5,"FF":jumpf
RGB_convert $5,%%4
~
next
mov $%0,"#" + $5
return

*start
RGB $100,10,30,50
caption $100
bg $100,1
click
end

 前にsetwindowのラッパーを書いてたときに似たようなことしてたから流用すればすぐかーと思ってスクリプトを覗いてみたらやってたのは逆の処理で、結局最初から書き直しました。RGB_convert命令をdec2hex命令として10進数→16進数全般を扱えるようにしようかと思いましたが、スクリプトが冗長になってしまったので2桁決めうちでやっときました。



 今後の予定。
・マウスジェスチャーの記事を書いて、サンプルスクリプトとしてDelusionist's Utopiaの方に置く
・ループの処理時間を計測
・saveoffをすると処理時間にどの程度差が出るのか計測
[PR]
by lyricist_m | 2008-05-18 12:40 | NScripter
<< 絶賛修羅場中... NScripter ver.2... >>