「"」で囲まれた文字列を記述すると、メッセージウィンドウへ表示する文字列となります
メッセージを連続して記述すると、改行してメッセージを表示します
なお、メッセージウィンドウ内に表示できるメッセージのサイズには制限があるため、次の項で説明する「改ページ」を適切に入れる必要があります。
メッセージ末尾に「¥」を指定することで、改ページすることができます。そして改ページ記号の位置で、キーの入力待ちをします。
- "春はあけぼの。"
- "やうやうしろくなりゆく山ぎは、すこしあかりて、"
- "紫だちたる雲のほそくたなびきたる。¥"
- "夏は夜。月のころはさらなり、"
- "闇もなほ、蛍のおほく飛びちがひたる。¥"
- "また、ただ一つ二つなど、"
- "ほのかにうち光りて行くもをかし。¥"
- "雨など降るもをかし。¥"
- // ■上記記述は、以下のように表示します
- // "春はあけぼの。"
- // "やうやうしろくなりゆく山ぎは、すこしあかりて、"
- // "紫だちたる雲のほそくたなびきたる。" // ←ここで改ページ待ち
- // "夏は夜。月のころはさらなり、"
- // "闇もなほ、蛍のおほく飛びちがひたる。" // ←ここで改ページ待ち
- // "また、ただ一つ二つなど、"
- // "ほのかにうち光りて行くもをかし。" // ←ここで改ページ待ち
- // "雨など降るもをかし。" // ←ここで改ページ待ち
「"」によるメッセージ改行を回避するには、メッセージ末尾に「/」を指定します
メッセージ開始の「"」の直後に「#」を指定することで、文字列の色を指定することができます。 書式は#rrggbbで指定します。値は先頭からR成分、G成分、B成分を16進数で指定します。
メッセージ開始の「"」直後に「!d数字(ミリ秒)」を指定することで、1文字ごとのメッセージ表示速度にディレイをかけることができます。
特定の位置だけウェイト(待ち)を入れたい場合には、「!w数値(ミリ秒)」を使用します
「$数字」により変数を表示することができます
※変数の詳細については、変数の項目を参照
「式」が真である場合「文」を実行します(式については論理式の項目を参照)
「式」が真である場合「文1」を実行します。そして「式」が偽である場合「文2」を実行します。
「式1」が真の場合、「文1」を実行します。この場合、「式2」は評価せず、「文2」が実行されることはありません。
また「式1」が偽の場合、「式2」を評価します。そして「式2」が真であれば「文2」を実行します。「式2」が偽であれば、何も実行しません
四則演算として以下のものが使用できます。
| 演算子 | 演算方法 |
| + | 加算 |
| − | 減算 |
| * | 乗算 |
| / | 除算 |
※変数・代入については、変数の項目を参照してください
'*'と'/'は、'+'と'−'よりも優先して演算を行います
'('と')'を使用することで、演算を優先して行うことができます
「$」+「数値」による値を、変数(変更可能な値)として使用することができます。
有効な変数の範囲と値は以下のようになります。(※浮動小数や文字列を使用することはできません)
| 有効な変数の範囲 | $0〜$999 |
| 有効値 | -2147483648 ~ +2147483647(4byte整数値) |
「=」により変数へ値を代入することができます
if文などの制御を行う場合、制御パラメータとして論理式を与える必要があります。(※if文については、「制御構造」の項目を参照)
論理式のための演算子としては、以下のものが使用できます
| 演算子 | 真となる条件 | 例 |
| == | 左辺と右辺が同一である | 100==100 → 真 |
| != | 左辺と右辺が同一でない | 100!=100 → 偽 |
| < | 左辺が右辺より小さい | 50 < 100 → 真 |
| <= | 左辺が右辺以下 | 100 <= 100 → 真 |
| > | 左辺が右辺よりも大きい | 100 > 50 → 真 |
| >= | 左辺が右辺以上 | 100 >= 100 → 真 |
| ! | 論理演算結果が偽(演算結果を反転する) | !(100 == 100) → 偽 |
| && | 左辺が真かつ右辺が真 | (100 == 100)&&(200 == 200) → 真 |
| || | 左辺が真または右辺が真 | (100 == 100)||(200 == 100) → 真 |
スクリプトの流れに分岐を作るために、ラベルの定義とラベルジャンプ(goto)を使用することができます。
行頭に「名前」+「:」(コロン)を指定するとラベルとなります。
このラベル定義により、後述する「goto」命令を使用して実行位置のジャンプを行うことができます
goto命令により、ラベルジャンプを行うことができます。
上記コードは、変数"$1"が5を超えるまで、Label_Loopラベルにジャンプし続けます。 なお、存在しないラベル名を指定した場合、コンバート時に未定義エラーとなります。
「def」で開始するブロックはファンクションとなります。
ファンクションブロックは、call命令以外では実行されることはありません。
call命令により、ファンクションコールをすることが可能です。
上記コードは、scene001ラベルをコールします。存在しないファンクション名を指定した場合、コンバート時にエラーとなります。 なお、呼び出したラベルのブロックを超えた場合には、call命令により呼び出した位置に戻ります。
call命令により呼びだされたラベル内で「return」命令を行うと、その時点で呼び出し元に戻ります
「load」命令を使用すると、実行中のスクリプトを変更することができます。
goto / call 命令との違いは以下のようになります
選択肢により分岐を行う場合は、「select」命令を使用します。
例えば、選択肢1を選んだ場合、選択肢1のブロックを実行を実行します。 そして選択肢1のブロックの末尾に達すると、この全ての選択肢ブロックの終端にジャンプします。 (選択肢2/選択肢3のブロックは実行されません)
という記述をすることで問題文を複数行表示することができます。
また、問題文は、
というようにスペース区切りで1行にまとめて定義することが可能です。
スクリプトの補足説明をするために、変数やラベルの開始部分などにコメントを入れることができます。コメントを開始する部分に「//」を入れると、以降の文字列は行末までコメントとみなし、実行しません
また「/*」から「*/」までの間はコメントブロックとなります。
乱数を使うと、ランダムな値を取得できるため、それを使ってランダムにイベントを発生させたりすることができます。 書式は以下のようになります。
rand(開始値, 終了値) 開始値〜終了値の範囲で、乱数を発生します
| 命令 | 説明 | 構文 | 引数 |
| draw_bg | 背景の描画 | draw_bg(id, effectId) | ・id : 画像ID or 色(#rrggbb 単色による塗りつぶし) ・effectId : エフェクトID (省略時はEF_NORMAL) |
| erase_bg | 背景の消去 | erase_bg(effectId) | ・effectId : エフェクトID (省略時はEF_NORMAL) |
| draw_ch | キャラの描画 | draw_ch(id, pos, effectId) | ・id : 画像ID or 色(#rrggbb 単色による塗りつぶし) ・pos : 立ち位置 ("c:"中心 "l":左 "r":右) ・effectId : エフェクトID (省略時はEF_NORMAL) |
| draw_ch_pos | キャラの描画 (座標指定・左上) | draw_ch_pos(id, posX, posY, effectId) | ・id : 画像ID or 色(#rrggbb 単色による塗りつぶし) ・posX : スクリーン座標(X) ・posY : スクリーン座標(Y) ・effectId : エフェクトID (省略時はEF_NORMAL) |
| erase_ch | キャラの消去 | erase_ch(pos, effectId) | ・pos : 立ち位置 ("c:"中心 "l":左 "r":右) ・effectId : エフェクトID (省略時はEF_NORMAL) |
描画命令 (draw_bg / draw_chなど) に指定可能なエフェクトIDの一覧は以下のものとなります。
| ID | 説明 |
| EF_NORMAL | 瞬間表示 |
| EF_SCROLL_L | 左スクロール |
| EF_SCROLL_R | 右スクロール |
| EF_SCROLL_U | 上スクロール |
| EF_SCROLL_D | 下スクロール |
| EF_SHUTTER_L | 左シャッター |
| EF_SHUTTER_R | 右シャッター |
| EF_SHUTTER_U | 上シャッター |
| EF_SHUTTER_D | 下シャッター |
| EF_ALPHA | 半透明 |
| EF_GRAY | グレースケール |
| EF_SEPIA | セピア |
| EF_NEGA | 反転 |
| 命令 | 説明 | 構文 | 引数 |
| shake | 画面を揺らす | shake(ms, amp) | ・ms : 揺れ時間 (ミリ秒) ・amp (開始揺れ幅) |
| 命令 | 説明 | 構文 | 引数 |
| play_bgm | BGMの再生 | play_bgm(id, loop, fade) | ・id :サウンドID ・loop :ループ回数。省略時は0で無限ループ再生 ・fade :フェードイン時間(ミリ秒)。省略時は0でフェードなしで再生 |
| stop_bgm | BGMの停止 | stop_bgm(fade) | ・fade :フェードアウト時間(ミリ秒)。省略時は0でフェードなしで停止 |
| play_se | SEの再生 | play_se(id, loop) | ・id :サウンドID ・loop :ループ回数。省略時は1で1回のみ再生する。0で無限ループ再生 |
| stop_se | SEの停止 | stop_se(id) | ・id :サウンドID |
save 命令を使用すると以下の情報が保存されます。