メッセージマクロリファレンス
2006.09.24 Cyross Makoto

v0.9.9からは、メッセージマクロファイルの書式が代わり、
「シナリオ単位」の概念を追加しました。
詳しくは、「書式」の項をご参考下さい。

・書式

マクロファイルの内容は以下のようになります。

===ファイルここから
（Mainシナリオ）

:scenario シナリオ名
内容
:end

:scenario シナリオ名
：
===ファイルここまで

:scenario〜:endで囲まれたブロックを「シナリオ」と呼びます。
（ちなみに、後述のMainシナリオ以外は、必ず:scenario〜:endで囲まないとエラーになります）
これがコンパイルされて、Yuki::Scenarioクラスのインスタンスとなります。シナリオ名は全角・半角、大文字・小文字を区別します。
また、ファイル全体の内容を「プロット」と呼び、Yuki::Plotクラスのインスタンスとして存在しています。

ファイルの最初に存在するシナリオは、「Mainシナリオ」といい、このシナリオを一番最初に実行します。その後、指定したシナリオを呼び出したり、シーンを移動したり、選択したコマンドによってシナリオやシーンを移動することもできます。

また、{plot_append}マクロを使用して、シナリオを追加することができます。
このとき、同じ名前のシナリオが複数存在しているときは、いちばん最後に登録したシナリオが有効になります。
シナリオを追加するときは、そのマクロファイルにMainシナリオが含まれていても無視します。

・マクロリファレンス

{color r,g,b} ・・・ (1)
{color #rrggbb} ・・・ (2)
{color black(blue,yellow他)} ・・・ (3)
　(1)このマクロ以降、文字の表示色を[r,g,b](それぞれ0〜255)に変える
　(2)このマクロ以降、文字の表示色を#rrggbb(それぞれ00〜ff)に変える
　(3)このマクロ以降、文字の表示色を名前に対応した定数(APIリファレンス参照)に変える
{size n}
　このマクロ以降、フォントの大きさをnピクセルに変更する
{sleep w}
　w秒処理をスキップする
　wは0(0.0)以上整数・実数での指定が可能
{message_wait w}
　文字表示のウェイトをw秒に変更する
　wは0(0.0)以上整数・実数での指定が可能
{locate x,y}
　文字の表示位置をx,y(ピクセル単位)に変更する
　x,yの原点はメッセージエリア(スプライト)の左上端
{next ...}
　移動先ラベルを指定する
　強制的にシーン移動を行う
{expr "..."}
{"..."}
　....で表示している式を評価する
　結果を画面に描画しない
{expr ""...""}
{""...""}
　....で表示している式を評価する
　結果を画面に描画する
{cr}
　メッセージの表示から改行して描画を続けるようにする
{pause}
　ポーズを行う
　ポーズマークを表示する
　1番目のボタンを押すまでポーズを行う
{clear}
　描画している文字を消去する
{scenario scenario_name}
　シナリオを変更する
　scenario_nameは変更するシナリオ名
　シナリオの先頭から実行される
{plot_append plot_file_name}
　現状のプロットにシナリオを追加する
　plot_file_nameは、追加するファイル名
　ファイルにMainシナリオが追加されても無視される
{yesno yes_scenario no_scenario}
　「はい／いいえ」コマンドを表示する
　yes_scenario,no_scenarioは、それぞれの選択後に採用作用されるシナリオ名
　ラベルは指定できない
{command_init filename}
　選択コマンド群情報をfilenameで指定したファイルから読み込む
{command_append filename}
　選択コマンド群情報をfilenameで指定したファイルから読み込んで、現在のコマンド情報に追加する
{command name}
　コマンド選択を表示する
　nameは、command_initに登録されたコマンド群を指す名前
{image_init name, filename, flag}
　filenameで指定した画像をnameという名前のスプライトとして登録する
　フラグは、左上のドットの色を透明色とするかを指定するもので、true/falseで指定する
{dp name, value}
　nameで指定したスプライトの深度を指定する
{layout name, [x-layout],[y-layout]}
　nameで指定したスプライトのレイアウト位置を指定をする
　x-layout,y-layoutの書式はSprite#set_layoutメソッドと同じだが、
　[]は必ず必要
{move name, x, y}
　nameで指定したスプライトの位置をx,yだけ移動する
{move_to name, x, y}
　nameで指定したスプライトの位置をx,yまで移動する
{alpha name, value}
　nameで指定したスプライトの透明度を指定(0〜255)する
{show name}
　スプライトを画面に表示する
　name(image_initで指定した)に対応したスプライトを表示する
{hide name}
　スプライトを画面から隠す
　name(image_initで指定した)に対応したスプライトを隠蔽する
{sound filename,vol,flag}
　filenameで指定した効果音・BGMを演奏する
　volは演奏するボリューム、flagは、trueのときは演奏が終わるまで待機する

変数とフラグ

　このマクロでは、共通の変数とフラグとして「var[n]」「flag[n]」が利用できる
var,flagは、実際はハッシュなので、数値だけではなくシンボルでも利用可能
その他の記法はRubyと同じ
(Rubyスクリプト(Miyako)からはVarsクラスのインスタンスメソッドとなっている)
