このページはCOOL ONLINE終了に伴いO-Show様の許可を得て作成したBinary Heavenのミラーサイトです
[TOP] [Profile] [NScripter] [BBS] [Links]
サンプルスクリプト No.1
跳ね返るカーソル
■ダウンロード■
Sample01.lzh (4.75KB)



Sample01_02.lzh (4.04KB)

相良まさとさんにご指摘を受けてスクリプトを修正しました。
ご指摘と、スクリプトを流用させていただいてありがとうございました〜。
(ここの下の文章と、「Sample01.lzh」の内容は修正しておりません。ご注意を)
■概要■
NScripterに同梱されているクリック待ちカーソル画像ファイルの
「cursor0.bmp」が画面の中を跳ね回ります。
壁にぶつかる度に向きを変え、壁にぶつかった時に音がなります。


参考解説:

初級編 No.11 テキストウィンドウ

初級編 No.12 音を鳴らす

中級編 No.1 変数に名前を付ける

中級編 No.9 ループ
■ループによる連続画面書き換え

「for〜nextループ」と「msp」を使うことによってスプライトの移動を行うサンプルスクリプトです。

詳しいことは「中級編 No.9「ループ」」を見ていただければわかると思います。


さらにこのサンプルスクリプトでは、連続書き換えで速度を落とさないための注意点を含めてあります。

具体的には以下の二つです。


・「saveoff」

「saveoff」命令(NScr追加機能.txt)を使うとセーブモードがオフになり、セーブしてロードしてもその場所から始まらずに、最後にセーブモードがオンだった位置から始まるようになります。(「saveon」でセーブモードがオンになります。デフォルトではオンです)

その代わり、動作が高速になるという特徴を持っています。

速度やタイミングが重要なスクリプトでは必須です。


・テキストウィンドウ

「print」命令等でエフェクトがかかった場合、テキストウィンドウは一旦消えて、エフェクトが終わるとまた現れます。

これは、文章を表示させない場合でも同じで、このままでは「for〜next」でループを行う度にテキストウィンドウが出たり消えたりしてしまって、速度が落ちてしまいます。


これを防ぐために、「erasetextwindow」命令(マニュアル 表示・演奏系 E)を使います。

この命令によって、エフェクト時にもテキストウィンドウが消えずに出っぱなしになるので、動作速度が落ちなくなります。

しかし、終始「print」によって書き換えているわけですから、デフォルトのテキストウィンドウでは画面が暗くなってしまいます。

なので、このサンプルスクリプトでは「setwindow」命令でテキストウィンドウを明るくしています。
■総括■
このスクリプト自体はあまり活用できないかも知れません。

「erasetextwindow」と「saveoff」は重要なので覚えておいて欲しいです。


   前へ   NScripterのIndexへ