|
くににん「いよいよ、今回はオープニング処理の書き方について解説しようと思う」
フィー 「そういえば、いままでのサンプルスクリプトはいきなり本編が始まってましたも
のね・・・」
くににん「タイトルを表示して、ちょっとした演出や寸劇をみせてから、頃合を見計ら
って初期メニューを表示する・・・みたいなことが出来るとちょっとカッコいい
オープニングになりそうだね」
フィー 「どうすればいいんですか」
くににん「まあ、あわてない、あわてない。まずは、ちょっとしたイタズラから出発しよう」
【最初の画面】
くににん「のべ〜るの画像フォルダ gdat をまず覗いてみると、system というサブフォ
ルダがあって、そのなかに back00.bmp という画像があるだろう?」
フィー 「これですね。お絵かきソフトで開いてみると・・・あれ、真っ白・・・」


くににん「これを、横長640×480ドットの適当な図柄に差し替えてみよう。ここでは
↓こんな雲模様の絵を用意して、名前を back00.bmp として上書きして
しまう」
フィー 「どうなるんですか」
くににん「これで起動すると・・・」


フィー 「あっ、最初の画面が置き換わりました・・・!」
くににん「config.txt の中で別の背景にすぐにフェードインさせているから目に見え
るのは一瞬だけど、もうわかっただろう。起動時に最初に表示されるのが
この back00.bmp なんだ。」
フィー 「これを書き換えれば、いろいろなデザインの画面で起動できるんですね」
くににん「そのとおり。くににん的にはシンプルな白のままがいいから、白に戻して先
に話を進めよう」
【メニュー表示まで】
フィー 「起動画面を決めたところで、次は何をしましょうか」
くににん「サウンドノベルの作者のロゴなんかを出したいね。ウチはサークル名が
Hobby Land Soft だから、これを画像に書いてフェードインさせればいい
かな。Presented by ○○○ なんてのもいいと思う」
フィー 「それも、config.txt の中に記述するんですか」
くににん「それでもいいし、すぐに本編のテキストに制御を移して本編側のスクリプト
に記述してもいい。ここでは、config.txt はシンプルにテキスト属性だけを
記述して、本編側の冒頭でオープニングを記述してみよう」
|
【スクリプト例:config.txt】
#set_font_size 22 ##フォントサイズ
#set_text_area 20,20,620,460 ##テキスト表示エリア
#set_text_wait 15 ##テキストウェイト
#set_text_color 255,255,255,30,10,10 ##テキストの色(文字色RGB 影色RGB)
#sp ##デフォルトSAVE POIT
#file_change sample.txt,*TOP: ##ここで本編テキストに飛びます
#halt
|
|
|
くににん「本編側のスクリプトは、ちょっと長いけど一気に掲載してみる。↓こんな感
じだ。」
|
【スクリプト例:sample.txt】
*TOP:
##---------------------------------------
## タイトル表示
##---------------------------------------
#system_menu_flag OFF ##システムメニューを無効にする
#delay 1000 ##間をとる
#g_load BG softhousename.jpg ##ソフトハウス名の画像を読む
#fade_in ##フェードイン
#delay 3000 ##間をとる
#g_load BG system\back00.bmp ##デフォルト画面(今回は白地)を読む
#fade_in ##フェードイン
#delay 500 ##間を取る
#play_midi tamhe08l.mid ##タイトル音楽演奏開始
#g_load BG hana.jpg ##タイトル画面(文字なし)を読む
#fade_in ##フェードイン
#delay 1000 ##間をとる
#g_load BG title.jpg ##タイトル画面(文字あり)を読む
#fade_in ##フェードイン
#delay 2000 ##間をとる
#start_menu 240,350 ##起動時メニュー表示
#delay 300 ##間をとる
#g_load BG system\back00.bmp ##デフォルト画面(今回は白地)を読む
#fade_in ##フェードイン
#stop_midi ##タイトル音楽演奏停止
##---------------------------------------
## ここからゲームスタート
##---------------------------------------
#g_load BG 夏.jpg ##本編最初の画面を読む
#play_midi tamsp08.mid ##本編BGMスタート
#fade_in ##フェードイン
#system_menu_flag ON ##ここからシステムメニューを有効にする
ここから、本来のゲームスタートだよーん#w
…と、言いたいところですがまだサンプルゲームは作っていないので
ここから先はありません(爆)#w ;
;
そんな訳で、おしまい♪
#halt
|
フィー 「な、なんですかこれ。文章がほとんどなくてコマンドばっかり・・・」
くににん「ちょっと凝ったことをしようとすれば、多少面倒な記述になるのはある程度は
仕方がないよ。でも、やっていることはタイミングをとりながら絵を出したり音楽
を流したり・・・と、そんなに難しいことじゃない」
フィー 「説明なしにいきなり出てきたコマンドがいくつかありますね」
くににん「うーん。そろそろ、コマンドについてはリファレンスマニュアルを参照しながら内
容を調べてもらってもいい頃かもしれないけど・・・それはともかく、↑に出てい
るものについては解説しよう」
フィー 「まずは #system_menu_flag ですね」
くににん「これは右クリックで開くシステムメニューを禁止するか許可するか設定するコマ
ンドだ。オープニング処理が始まるまでは、メニュー禁止にしている」
#system_menu_flag ON システムメニューを許可する
#system_menu_flag OFF システムメニューを禁止する
フィー 「なんのために禁止するんですか」
くににん「オープニングの最中にいきなりメニューがひょいと開いたら、格好悪いだろう」
フィー 「あ、そっか」
* * * * * * *
フィー 「さて、次の謎コマンドは #delay ですね」
くににん「これは、指定時間だけ待つコマンドだ。単位はミリ秒。1秒=1000ミリ秒だか
ら #delay 1000 で ”1秒待て” という意味になる。」
フィー 「よくみると、いっぱい使われてますね」
くににん「この ”間を取る” というのは単純なようでいて、結構奥が深いんだ。面倒がら
ずに調整することをお勧めしたいなぁ。」
フィー 「それで、いよいよ肝心ぽいのが・・・ #start_menu ですね」
くににん「そう、これが初期メニュー処理になる。書式は↓こんな感じだ。」
【初期メニュー表示】
#start_menu x , y
※x , y はメニューを表示する座標

フィー 「初期メニューでは、最初から と LOAD と EXIT が選べますけど、それにあわ
せて処理を場合分けしないでいいんですか」
くににん「その必要はないよ。LOADが選ばれれば、SAVEデータの内容が再現されて続
きをプレイすることになるし、EXIT が選ばれればプログラムは終了だ。つまり、
#start_menu コマンドを抜けてくるのは ”最初から” が選ばれたときだけなん
だよ。だから、スクリプト上では #start_menu コマンドに続けて そのまま物語
の冒頭部分を書けばそれでいい」
フィー 「はにゃああん・・・。なんだかいっぱい詰め込み式です〜」
くににん「言葉で書くとちょっと大変そうだけど、基本は絵を出す、音を出す、ちょっと待
つ・・・のくりかえしだから、あまり難しく考えないほうがいいと思う。」
フィー 「なるほどー。」
くににん「ということで、今回はここまで〜」
|