■ 新・ゲーム開発講座 |
■ へっぽこプログラミング入門♪ |
■第29夜:スクリプトファイル間のジャンプ 前回のラベルジャンプは1本のスクリプトファイル内でポンポンと飛び回るものでした。今回はこれを拡張して、別ファイルのラベルに制御を移す処理を記述しましょう。複数のファイル間を自由にジャンプできるようになると、シナリオファイルの管理(シーン分け、キャラ分けなど)が楽になります。書式は、以下のように致しましょう。
また1本の文章として編集可能な文章量(注:テキストエディタのプログラム的許容量ではなく、書いている本人が全体を把握できる文章量という意味)はおよそ20〜30KB程度ではないかと思います。これを越えるようなシナリオ量の場合、スクリプトの分割に対応することはある種、福音ともいえるでしょう(^^)。ちなみにWindows付属のメモ帳は私の環境では約30KBほどのテキスト量で編集不能になります(メモリを増やせばまだ行けるのかな?)。…まあ、それはともかく解説を進めましょう(爆)。 ■処理の概要 ジャンプコマンドの変形版です。ラベルサーチの直前で、指定されたスクリプトファイルを読み込んでおけば万事完了です♪(^^) ■Mode_stat 今回の処理では Mode_stat は使用しません。 ■コマンド解釈部 TextEngine.cpp の void Command_call() に以下の部分を加えます。 |
void Command_call() {
} |
■コマンド実行部 なお、スクリプトファイルが大量に増えたときのことを考えて、ここではついでにスクリプトファイルを txt というサブフォルダに格納するように変更しました。ソース中の TEXT_PATH は main.h で定義しているパス名です。 |
int Com_jump() {
OUTLOOP:
} |
いかがでしょうか。ソースはこちらです。サンプルスクリプトの記述と実際の動作を比較してみて下さい♪ |