■ループによる連続画面書き換え
「for〜nextループ」と「msp」を使うことによってスプライトの移動を行うサンプルスクリプトです。
詳しいことは「中級編 No.9「ループ」」を見ていただければわかると思います。
さらにこのサンプルスクリプトでは、連続書き換えで速度を落とさないための注意点を含めてあります。
具体的には以下の二つです。
・「saveoff」
「saveoff」命令(NScr追加機能.txt)を使うとセーブモードがオフになり、セーブしてロードしてもその場所から始まらずに、最後にセーブモードがオンだった位置から始まるようになります。(「saveon」でセーブモードがオンになります。デフォルトではオンです)
その代わり、動作が高速になるという特徴を持っています。
速度やタイミングが重要なスクリプトでは必須です。
・テキストウィンドウ
「print」命令等でエフェクトがかかった場合、テキストウィンドウは一旦消えて、エフェクトが終わるとまた現れます。
これは、文章を表示させない場合でも同じで、このままでは「for〜next」でループを行う度にテキストウィンドウが出たり消えたりしてしまって、速度が落ちてしまいます。
これを防ぐために、「erasetextwindow」命令(マニュアル 表示・演奏系 E)を使います。
この命令によって、エフェクト時にもテキストウィンドウが消えずに出っぱなしになるので、動作速度が落ちなくなります。
しかし、終始「print」によって書き換えているわけですから、デフォルトのテキストウィンドウでは画面が暗くなってしまいます。
なので、このサンプルスクリプトでは「setwindow」命令でテキストウィンドウを明るくしています。
|