簡単 NScripterの使い方  2010/01/24更新
 ■開発室   ■ダウンロード   ■マニュアル   ■ご意見・ご要望・デバッグ   ■Q&A   ■リンク   ■関連企画 
 □目次  □準備編  □基礎編  □制作編  □グラフィック編  □音楽編

制作編/第4章

■ システムメニュー ■
 ここからは、マウスを右クリック時に表示される、システムメニューの動作を設定していきます。


■ 右クリックの無効化・有効化 ■
 NScripterデフォルトの状態では、マウスを右クリックするとテキストウィンドウが消去され、文字が消えた状態となります。しかし、例えばゲームのタイトル画面など、右クリックで表示が消えてしまっては困る場合も存在します。

 そこで使用するのが、以下の命令です。


rmode 0


 この「rmode 命令」で 0 を指定する事によって、以後のスクリプト上で一切の右クリックを受け付けなくなります。右クリックを再び有効化するためには、同じく「rmode 命令」で 1 を指定してください。NScripterデフォルトの動作は、 1 になっています。

 それでは、rmode命令を実際に組み込んでみましょう。


game
*start

*title
rmode 0

setwindow 328,410,5,4,24,24,6,8,0,1,1,#FFFFFF,300,380,500,540

select
"はじめから",*game_start,
"つづきから",*load,
"終   了",*game_end

*game_start
rmode 1

*load
systemcall load
goto *title

*game_end
end


 タイトル画面表示中の右クリックを無効化しました。
 しかし、ゲーム本編で右クリックが使えなくては困ります。
 そこで「はじめから」を選ぶと、右クリックが再び有効化されるよう設定しています。


■ システムメニューの設定 ■
 次に、右クリック時の動作を変更し、様々な機能を呼び出せるよう設定していきます。
 定義ブロックを開いてください。


;mode800,value2000
*define

caption "ゲームタイトル"
versionstr "ゲームタイトル Ver1.0","制作者名"
killmenu 7
defaultspeed 25,15,0

rmenu "ウィンドウを消す",windowerase,"セーブする",save,"ロードする",load,"タイトルに戻る",reset




 このように「rmenu 命令」によって、右クリック時に表示されるメニュー機能の内容を設定していけます。表示する文字をダブルクォーテーションで囲み、その後ろに対応する機能を指定します。呼び出せる機能は「systemcall 命令」の物と同じです。


■ バックログ機能を停止する ■
 つづいてバックログ機能の制御です。
 NScripterは、デフォルトで既読メッセージを表示するバックログ機能がオンになっています。
 ここでは、そのバックログ機能を一時的にオフにする方法を設定します。


game
*start

*title
lookbackoff
rmode 0

setwindow 328,410,5,4,24,24,6,8,0,1,1,#FFFFFF,300,380,500,540

select
"はじめから",*game_start,
"つづきから",*load,
"終   了",*game_end

*game_start
rmode 1
lookbackon

*load
systemcall load
goto *title

*game_end
end


 上記スクリプトでは、タイトル画面で「lookbackoff 命令」を使用して、バックログの記録を停止させています。
 このままでは、バックログ機能が使えないままなので、ゲーム開始時に「lookbackon」命令を使用して、再びバックログの記録を再開します。


制作編/第3章に戻ります 制作編/第5章に進みます