home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 2002 November
/
VPR0211A.ISO
/
OLS
/
NSCR_NEW
/
nscr_new.lzh
/
NScr追加機能.txt
< prev
next >
Wrap
Text File
|
2001-01-14
|
4KB
|
120 lines
<暫定命令について>
・mov3~mov10は正式命令に格上げされました。
・mode_extは、automodeという名前の命令と同じ意味になります。
・automode_time,systemcall rmenu,bar・prnum系命令,amsp,blt,ofscpyは正式命令に格上げされました。
<追加命令について>
いっぱいあるのですが、システムの根幹に関わるような命令は、
使い方が複雑なので、後でサンプルを作って説明することにします。
今回は簡単な命令から発表します。
labellog(*define節専用命令)
ファイルログと同じような形式で、ラベルのログを取ります。
goto gosub 等の飛び先に指定されたか、スクリプトを読んでいて通過したラベル名をすべて記憶します。
lchk ラベル名
fchkと同じく、if文中で使います。そのラベルを読んでいれば真です。
NScrのラベル名には(ここ以外のどの場所でもですが)文字変数が使えますので、
lchk *test
lchk "*test"
lchk $0
上のみっつは、どれも正しい表記です。
nsa(*define節専用命令)
NSAアーカイブモードにします。
同梱のnsaarc.exeで圧縮すると作られるarc.nsa内のファイルを読みこめるようになります。
DLLなどはいりません。nsaファイルはNScripterと同じフォルダにおいてください。
BMPにはアーカイブ化のときに圧縮がかかります。生BMPを直接渡してください。
NScripterは、NSA内のBMPを扱うときにもっとも高いパフォーマンスを発揮します。
NSA内のBMP形式では、画像ファイルなどを扱うとき、一切の中間ファイルを作りません。
圧縮するのに時間がかかるような巨大なアーカイブは分割管理すると便利です。
arc.nsa arc1.nsa arc2.nsa~arc9.nsaの10個のアーカイブファイルを扱うことが出来ます。
この場合、上に書いた順番で検索していきます。
repaint
画面を書きなおします。もし画面が変になってたりしたら、これでなおるかも。
saveon saveoff
セーブモードをオン/オフします。
セーブできなくなるわけではなく、ロードすると最後にセーブオンだったところまで戻されるということです。
saveonの間は、スプライトを動かしたりしただけでもセーブデータを書きこみに行きますので、
場合によってはパフォーマンスに影響が出るかもしれません。
ミリ秒単位でスプライトをいじるようなアニメ処理をしている間はsaveoffにすると動作が速くなるでしょう。
skipoff
「次の選択肢まで進む」や「オートモード」などをそこで停止します。
グラフィックのタグ指定のアニメ設定のループ形式に、3番が追加されました。
(例):lsph n_tairyoku_0,":l/11,0,3;chip\suuji.bmp",0,0
3番に指定すると、ミリ秒の設定には関係なく、「アニメしない」ことになります。
これは、後述のcell命令によって、手動で絵を切り替えたいとき、もしくは、
後述のspbtn命令によって、ボタンにしたいときに使う設定です。
グラフィックのタグ指定の透過形式指定に、rが追加されました。
(例):lsph g_tairyoku,":r;chip\g_tairyoku.bmp",0,0
これで、右上の色を抜き色に指定できます。
cell スプライト番号,セルNO
手動でスプライトのセルを指定します。
内部状態を切り替えるだけなので、あとでprintなどで画面に反映してください。
spbtn スプライト番号,ボタン番号
btn命令と同じような使い方で、こちらはスプライトをボタンに指定します。ちゃんと透過とかもします。
押されていない状態がセル0、押されている状態がセル1です。
ボタンを押すと、ボタン番号が帰ってきます。
mode_wave_demo(*define節専用命令)
普通、次の選択肢を飛ばすモードのときはWAVEはならないのですが、
mode_wave_demoを実行していると、なります。
jumpf
次の~記号までジャンプします。ラベル名を考えるのがめんどくさいときに使ってください。
しかし、当然入れ子構造には出来ないので、とび先がすぐ見えるときだけに限定して使うほうがいいです。
例)
jumpf
この文は飛ばされます。
~
この文は表示されます。
jumpb
直前の~記号まで戻ります。
<新機能>
特殊文字列構文
(条件ファイル名)"TRUE文字列""FALSE文字列"
条件ファイル名がファイルログの中にあった(すでにロード済みだった)場合、TRUE文字列、
無かった場合、FALSE文字列を返します。
これは、たとえばCGモードのボタンを選ぶときに使えます。
少々みにくいですが、スクリプトを書くのが楽になります。C言語で言う?:に近いです。
例)
lsp 0,("cg1.bmp")"cg1_sum.bmp""dummy_sum.bmp",0,0