• Showing Page History #94461
  • Showing Page History #94494

スクリプト文法

メッセージウィンドウ

メッセージウィンドウへの表示

「"」で囲まれた文字列を記述すると、メッセージウィンドウへ表示する文字列となります

  1. // 「メッセージを表示します」とメッセージウィンドウに表示します
  2. "メッセージウィンドウを表示します"

改行

メッセージを連続して記述すると、改行してメッセージを表示します

  1. "春はあけぼの。"
  2. "やうやうしろくなりゆく山ぎは、すこしあかりて、"
  3. "紫だちたる雲のほそくたなびきたる。"
  4. // ■上記記述は、以下のように表示します
  5. // "春はあけぼの。"
  6. // "やうやうしろくなりゆく山ぎは、すこしあかりて、"
  7. // "紫だちたる雲のほそくたなびきたる。"
なお、メッセージウィンドウのサイズには制限があるため、次の項で説明する「改ページ」を適切に入れる必要があります。

改ページ

メッセージ末尾に「¥」を指定することで、改ページすることができます。そして改ページ記号の位置で、キーの入力待ちをします。

  1. "春はあけぼの。"
  2. "やうやうしろくなりゆく山ぎは、すこしあかりて、"
  3. "紫だちたる雲のほそくたなびきたる。¥"
  4. "夏は夜。月のころはさらなり、"
  5. "闇もなほ、蛍のおほく飛びちがひたる。¥"
  6. "また、ただ一つ二つなど、"
  7. "ほのかにうち光りて行くもをかし。¥"
  8. "雨など降るもをかし。¥"
  9. // ■上記記述は、以下のように表示します
  10. // "春はあけぼの。"
  11. // "やうやうしろくなりゆく山ぎは、すこしあかりて、"
  12. // "紫だちたる雲のほそくたなびきたる。" // ←ここで改ページ待ち
  13. // "夏は夜。月のころはさらなり、"
  14. // "闇もなほ、蛍のおほく飛びちがひたる。" // ←ここで改ページ待ち
  15. // "また、ただ一つ二つなど、"
  16. // "ほのかにうち光りて行くもをかし。" // ←ここで改ページ待ち
  17. // "雨など降るもをかし。" // ←ここで改ページ待ち

改行のエスケープ

「"」によるメッセージ改行を回避するには、メッセージ末尾に「/」を指定します

  1. "春はあけぼの。/"
  2. "やうやうしろくなりゆく山ぎは、すこしあかりて、"
  3. "紫だちたる雲のほそくたなびきたる。"
  4. // ■上記記述は、以下のように表示します
  5. // "春はあけぼの。やうやうしろくなりゆく山ぎは、すこしあかりて、" // ←1行目を改行せずに2行目をつなげている
  6. // "紫だちたる雲のほそくたなびきたる。"

表示色

メッセージ開始の「"」の直後に「#」を指定することで、文字列の色を指定することができます。 書式は#rrggbbで指定します。値は先頭からR成分、G成分、B成分を16進数で指定します。

  1. "#ff0000このメッセージは赤色で表示されます。" // 赤色でメッセージを表示します

表示ディレイ

メッセージ開始の「"」直後に「!d数字(ミリ秒)」を指定することで、1文字ごとのメッセージ表示速度にディレイをかけることができます。

  1. "!d1000このメッセージは、ゆっくり、ゆっくり、表示されます" // 1秒ごとに1文字ずつ表示する

表示ウェイト

特定の位置だけウェイト(待ち)を入れたい場合には、「!w数値(ミリ秒)」を使用します

  1. "3秒待ちます。!w3000表示を再開します" // "3秒待ちます"、の表示3秒後に次にメッセージを表示します

変数の表示

「$数字」により変数を表示することができます

  1. $100 = 250
  2. "変数の中身を表示します。$100は250です"
  3. // 上記記述は、以下のように表示されます
  4. // "変数の中身を表示します。250は250です"
※変数の詳細については、変数の項目を参照

制御構造

if文

  1. if()
  2. {
  3. }

「式」が真である場合「文」を実行します(式については論理式の項目を参照)

else文

  1. if()
  2. {
  3. 1
  4. }
  5. else
  6. {
  7. 2
  8. }

「式」が真である場合「文1」を実行します。そして「式」が偽である場合「文2」を実行します。

elif文

  1. if(1)
  2. {
  3. 1
  4. }
  5. elif(2)
  6. {
  7. 2
  8. }

「式1」が真の場合、「文1」を実行します。この場合、「式2」は評価せず、「文2」が実行されることはありません。
また「式1」が偽の場合、「式2」を評価します。そして「式2」が真であれば「文2」を実行します。「式2」が偽であれば、何も実行しません

四則演算

四則演算として以下のものが使用できます。

演算子演算方法
加算
減算
乗算
除算
  1. $100 = 50 + 200 // 変数$100に、「50+200」の計算結果を代入します
※変数・代入については、変数の項目を参照してください

演算の優先順位

'*'と'/'は、'+'と'−'よりも優先して演算を行います

  1. $100 = 2 + 3 * 4 // この計算結果は、20ではなく、14となります

括弧による優先順位

'('と')'を使用することで、演算を優先して行うことができます

  1. $100 = (2 + 3) * 4 // この計算結果は、20となります

変数

「$」+「数値」による値を、変数(変更可能な値)として使用することができます。

有効な値

有効な変数の範囲と値は以下のようになります。

有効な変数の範囲$0〜$999
有効値 -2147483648 ~ +2147483647(4byte整数値)

変数への代入

「=」により変数へ値を代入することができます

  1. $100 = 20 // 変数$100に20を代入する

論理式

if文などの制御を行う場合、制御パラメータとして論理式を与える必要があります。(※if文については、「制御構造」の項目を参照)

論理演算子一覧

論理式のための演算子としては、以下のものが使用できます

演算子真となる条件
==左辺と右辺が同一である100==100 → 真
!=左辺と右辺が同一でない100!=100 → 偽
左辺が右辺より小さい 50 < 100 → 真
<=左辺が右辺以下 100 <= 100 → 真
左辺が右辺よりも大きい 100 > 50 → 真
>=左辺が右辺以上 100 >= 100 → 真
論理演算結果が偽(演算結果を反転する) !(100 == 100) → 偽
&&左辺が真かつ右辺が真(100 == 100)&&(200 == 200) → 真
||左辺が真または右辺が真(100 == 100)||(200 == 100) → 真

ラベル

スクリプトの流れに分岐を作るために、ラベルの定義(def)とラベルジャンプ(goto)を使用することができます。

ラベルの定義

「def」で開始するブロックがラベルとなります。

  1. def scene001
  2. {
  3. "ラベル開始¥"
  4. draw_bg(0)
  5. draw_ch(100, c)
  6. "ラベル終了¥"
  7. }
  8. "ラベルを超えました¥"
なお、ラベルブロックの終端を超えても、特別な制御は行なわず、そのまま処理を続行します