コマンドとは、Suika2に対する指示のことで、Suika2を使ってノベルゲームを作る上で必要なものです。
ほとんどのコマンドは @
マークから始まります。
コマンドを覚えておく必要はなく、このページを見ながら書くか、一度使ったものをコピペして使うなどすればよいです。
@bg [ファイル] (秒) (エフェクト)
@bg [file=ファイル] (duration=秒) (effect=エフェクト)
@背景 [ファイル=ファイル] (秒=秒) (エフェクト=エフェクト)
背景を変更します。背景の変更後、キャラクタはステージ上からいなくなります。
sample.png
を1.5秒かけて背景にセットします。
@bg sample.png 1.5
sample.png
を即座に背景にセットします。
@bg sample.png
sample.png
を1.5秒かけて右方向カーテンフェードで背景にセットします。
@bg sample.png 1.5 c
色を指定して1.5秒かけて左方向カーテンフェードで背景にセットします。
@bg #ff8080 1.5 curtain-left
目を閉じるような演出を行います。
@bg #000000 1.5 eye-close
目を開けるような演出を行います。
@bg sample.png 1.5 eye-open
ルール画像を使ってトランジションを行います。 ルール画像はグレースケールで、黒い部分から白い部分にかけて順に描画されます。
@bg sample.png 1.5 rule:rule-star.png
なお、背景のフェードには次のエフェクトを指定できます。
エフェクトの種類 | エフェクト名 | エフェクト短縮名1 | エフェクト短縮名2 | 日本語名 |
---|---|---|---|---|
標準のアルファブレンド |
normal
|
n
|
(指定を省略した場合)
|
標準
|
ルール指定トランジション(1bit) |
rule:ルール画像ファイル
|
|||
ルール指定トランジション(8bit) |
melt:ルール画像ファイル
|
|||
右方向カーテン |
curtain-right
|
curtain
|
c
|
右カーテン
|
左方向カーテン |
curtain-left
|
cl
|
左カーテン
|
|
上方向カーテン |
curtain-up
|
cu
|
上カーテン
|
|
下方向カーテン |
curtain-down
|
cd
|
下カーテン
|
|
右方向スライド |
slide-right
|
sr
|
右スライド
|
|
左方向スライド |
slide-left
|
sl
|
左スライド
|
|
上方向スライド |
slide-up
|
su
|
上スライド
|
|
下方向スライド |
slide-down
|
sd
|
下スライド
|
|
右方向シャッター |
shutter-right
|
shr
|
右シャッター
|
|
左方向シャッター |
shutter-left
|
shl
|
左シャッター
|
|
上方向シャッター |
shutter-up
|
shu
|
上シャッター
|
|
下方向シャッター |
shutter-down
|
shd
|
下シャッター
|
|
時計回り |
clockwise
|
cw
|
時計回り
|
|
反時計回り |
counterclockwise
|
ccw
|
反時計回り
|
|
時計回り(20°刻み) |
clockwise20
|
cw20
|
||
反時計回り(20°刻み) |
counterclockwise20
|
ccw20
|
||
時計回り(30°刻み) |
clockwise30
|
cw30
|
||
反時計回り(30°刻み) |
counterclockwise30
|
ccw30
|
||
目を開くような効果 |
eye-open
|
|||
目を閉じるような効果 |
eye-close
|
|||
目を開くような効果(垂直) |
eye-open-v
|
|||
目を閉じるような効果(垂直) |
eye-close-v
|
|||
スリットが開くような効果 |
slit-open
|
|||
スリットが閉じるような効果 |
slit-close
|
|||
スリットが開くような効果(垂直) |
slit-open-v
|
|||
スリットが閉じるような効果(垂直) |
slit-close-v
|
エフェクト mask
は削除されました。
代わりに rule:rule-mask.png
を使用してください。
@bgm [ファイル] (once)
@bgm [file=ファイル] (once)
@音楽 [ファイル=ファイル] (once)
BGMを再生します。
BGMファイルはフォルダ bgm
に格納されている必要があります。
再生可能なファイル形式は、44.1kHzのOgg Vorbisのみです。
sample.oggを再生します。
@bgm sample.ogg
BGMを停止します。
@bgm stop
BGMをループしないで1回だけ再生します。
@bgm sample.ogg once
BGMを2秒かけてフェードアウトします。
@vol bgm 0 2
@wait 2
@bgm stop
@ch [位置] [ファイル] (秒) (エフェクト) (右オフセット) (下オフセット) (アルファ)
@ch [position=位置] [file=ファイル] (duration=秒) (effect=エフェクト) (right=右オフセット) (down=下オフセット) (alpha=アルファ)
@キャラ [位置=位置] [ファイル=ファイル] (秒=秒) (エフェクト=エフェクト) (右=右オフセット) (下=下オフセット) (アルファ=アルファ)
キャラクタを表示、変更、消去します。
キャラクタの位置は、上位レイヤから順に、次のものがあります。
表示位置 | コマンドでの指定方法 |
---|---|
顔アイコン | face |
中央前面 | center |
右 | right |
左 | left |
中央背面 | back |
エフェクトの種類は @bg
と同じです。
sample.png
を0.5秒かけて中央前面にセットします。
@ch center sample.png 0.5
center
は c
と省略して構いません。
@ch c sample.png 0.5
none
を指定するとキャラクタを退場させます。
@ch c none 0.5
時間を指定しないと即座に表示されます。
@ch c sample.png
mask
あるいは m
を指定すると点描エフェクトを使います。
mask
以外にも、 @bg
で使用できるエフェクトは全て使用できます。
@ch c sample.png 1.0 mask
normal
あるいは n
を指定すると通常のアルファブレンドを使います。
指定を省略したときにも通常のアルファブレンドが利用されます。
@ch c sample.png 1.0 normal
キャラクタ表示位置をずらすことができます。
下記の例では右に100ピクセル、下に50ピクセルずらします。
@ch c sample.png 1.0 n 100 50
アニメの起点を指定するために、アルファ値を指定してキャラクタ画像を読み込みます。
アルファ値には 0
から 255
を指定できます。
また、アルファ値には 255
の別名で show
を指定できるほか、 0
の別名で hide
を指定できます。
@ch c sample.png 1.0 n 0 0 show
メッセージボックスの左にキャラの顔を表示します。(消す場合はnoneを指定します。)
@ch face face-001.png
@cha [位置] [秒] [加速] [Xオフセット] [Yオフセット] [アルファ]
@cha [position=位置] [duration=秒] [acceleration=加速] [x=Xオフセット] [Y=Yオフセット] [alpha=アルファ]
@キャラ移動 [position=位置] [duration=秒] [acceleration=加速] [x=Xオフセット] [Y=Yオフセット] [alpha=アルファ]
キャラクタの移動(アニメーション)を行います。
キャラクタの位置の指定とアルファ値の指定は @ch
コマンドを参照してください。
中央に表示したキャラクタを1.0秒かけて左側に600ピクセル移動して非表示にします。
@cha center 1.0 move -600 0 hide
使い方1との差分は、移動を加速(アクセル)しながら行うことです。
@cha center 1.0 accel -600 0 hide
使い方1との差分は、移動を減速(ブレーキ)しながら行うことです。
@cha center 1.0 brake -600 0 hide
初めに画面の外にキャラクタを読み込んでおいて、画面の中に移動させます。
@ch right sample.png 0 n 600 0 hide
@cha right 2.0 move -600 0 show
@chapter [タイトル]
@chapter [title=タイトル]
@章 [タイトル=タイトル]
章のタイトルを設定します。
@chapter 第一章
@choose [行き先1] [選択肢1] (行き先2) (選択肢2) (行き先3) (選択肢3) (行き先4) (選択肢4) (行き先5) (選択肢5) (行き先6) (選択肢6) (行き先7) (選択肢7) (行き先8) (選択肢8)
@choose [destination1=行き先1] [option1=選択肢1] (destination2=行き先2) (option2=選択肢2) (destination3=行き先3) (option3=選択肢3) (destination4=行き先4) (option4=選択肢4) (destination5=行き先5) (option5=選択肢5) (destination6=行き先6) (option6=選択肢6) (destination7=行き先7) (option7=選択肢7) (destination8=行き先8) (option8=選択肢8)
@選択肢 [行き先1=行き先1] [選択肢1=選択肢1] (行き先2=行き先2) (選択肢2=選択肢2) (行き先3=行き先3) (選択肢3=選択肢3) (行き先4=行き先4) (選択肢4=選択肢4) (行き先5=行き先5) (選択肢5=選択肢5) (行き先6=行き先6) (選択肢6=選択肢6) (行き先7=行き先7) (選択肢7=選択肢7) (行き先8=行き先8) (選択肢8=選択肢8)
選択肢を表示してラベルにジャンプします。
選択肢の数は最大で8つです。
3つの選択肢を表示します。
@choose label1 おはよう label2 こんにちは label3 こんばんは
:label1
おはよう
@goto end
:label2
こんにちは
@goto end
:label3
こんばんは
:end
2つの選択肢を表示します。
@choose label1 おはよう label2 こんにちは
:label1
おはよう
@goto end
:label2
こんにちは
@goto end
:end
1つの選択肢を表示します。
@choose label1 おはよう
:label1
おはよう
@ichoose [行き先1] [選択肢1] (行き先2) (選択肢2) (行き先3) (選択肢3) (行き先4) (選択肢4) (行き先5) (選択肢5) (行き先6) (選択肢6) (行き先7) (選択肢7) (行き先8) (選択肢8)
@ichoose [destination1=行き先1] [option1=選択肢1] (destination2=行き先2) (option2=選択肢2) (destination3=行き先3) (option3=選択肢3) (destination4=行き先4) (option4=選択肢4) (destination5=行き先5) (option5=選択肢5) (destination6=行き先6) (option6=選択肢6) (destination7=行き先7) (option7=選択肢7) (destination8=行き先8) (option8=選択肢8)
@インライン選択肢 [行き先1=行き先1] [選択肢1=選択肢1] (行き先2=行き先2) (選択肢2=選択肢2) (行き先3=行き先3) (選択肢3=選択肢3) (行き先4=行き先4) (選択肢4=選択肢4) (行き先5=行き先5) (選択肢5=選択肢5) (行き先6=行き先6) (選択肢6=選択肢6) (行き先7=行き先7) (選択肢7=選択肢7) (行き先8=行き先8) (選択肢8=選択肢8)
メッセージボックス内に選択肢を表示してラベルにジャンプします。
選択肢をメッセージボックス内に表示する以外は、 @choose
と同じです。
この機能を使用するときには、コンフィグの switch.bg.file
と switch.fg.file
に透明な画像を指定してください。
@chs [中央ファイル] [右ファイル] [左ファイル] [背面ファイル] (秒) (背景ファイル) (エフェクト)
@chs [center=中央ファイル] [right=右ファイル] [left=左ファイル] [back=背面ファイル] (duration=秒) (background=背景ファイル) (effect=エフェクト)
@場面転換 [中央=中央ファイル] [右=右ファイル] [左=左ファイル] [背面=背面ファイル] (秒=秒) (背景=背景ファイル) (エフェクト=エフェクト)
キャラクタの一括変更を行います。
Suika2/12.37以降では @chsx
をご利用ください。
また、キャラクタと同時に背景も変更できます。
キャラクタの指定順は、中央、右、左、後ろです。
エフェクトの種類は @bg
と同じです。
中央と右にキャラクタを1.0秒かけて表示します。
他のキャラクタは変更しません。(stay
の指定)
@chs center.png right.png stay stay 1.0
中央のキャラクタを1.0秒かけて退場させます。(none
の指定)
他のキャラクタは変更しません。(stay
の指定)
@chs none stay stay stay 1.0
キャラクタを表示させたまま(stay
の指定)、背景を1.0秒かけて変更します。
@chs stay stay stay stay 1.0 background.png
中央のキャラクタを1.0秒かけて変更します。
背景も変更します。
エフェクトはカーテンです。
@chs center.png stay stay stay 1.0 background.png curtain
@chsx (center=center-image) (center-x=center-x-offset) (center-y=center-y-offset) (right=right-image) (right-x=right-x-offset) (right-y=right-y-offset) (left=left-image) (left-x=left-x-offset) (left-y=left-y-offset) (back=back-image) (back-x=back-x-offset) (back-y=back-y-offset) (background=background-image) (bg-x=background-x-offset) (back-y=background-y-offset) (effect=effect) (duration=duration)
@場面転換X (中央=中央ファイル) (中央X=中央キャラのXオフセット) (中央Y=中央キャラのYオフセット) (右=右ファイル) (右X=右キャラのXオフセット) (右Y=右キャラのYオフセット) (左=左ファイル) (左X=左キャラのXオフセット) (左Y=左キャラのYオフセット) (背面=背面ファイル) (背面X=背面キャラのXオフセット) (背面Y=背面キャラのYオフセット) (背景=背景ファイル) (背景X=背景のXオフセット) (背景Y=背景のYオフセット) (エフェクト=エフェクト) (秒=秒)
キャラクタの一括変更を行います。
また、キャラクタと同時に背景も変更できます。
このコマンドに限って、center=
のような引数の名前が必須ですが、その代わり、引数の指定順に制限がありません。
エフェクトの種類は @bg
と同じです。
退場させるキャラには none
を指定します。
何も指定されなかったキャラは変更されません。
左と右にキャラクタを1.0秒かけて表示します。このとき、左キャラを左に100pxずらします。
他のキャラクタは変更しません。
@chsx left=left.png left-x=-100 right=right.png duration=1.0
@click
@クリック
クリックされるのを待ちます。
待っている間、メッセージボックスは非表示となります。
クリックを待ちます。
@click
@gosub [行き先]
サブルーチンにジャンプします。 @return
で戻ります。
普通のノベルゲームを作る分には利用しない機能です。
サブルーチン SUB
を実行します。
@gosub SUB
:SUB
ここに何らかの処理やメッセージを記述します。
@return
@goto [行き先]
@ジャンプ [行き先=行き先]
ラベルにジャンプします。
ループを作成するときや、ループから抜け出す際にも使用します。
ラベル abc
にジャンプします。
:abc
ここに何らかの処理やメッセージを記述します。ループします。
@goto abc
ロード画面を表示します。 $LOAD
は特殊なラベルです。
@goto $LOAD
セーブ画面を表示します。 $SAVE
は特殊なラベルです。
@goto $SAVE
@gui [ファイル] (cancel)
@gui [file=ファイル] (cancel)
@メニュー [ファイル=ファイル] (キャンセル許可)
GUIを表示します。従来の @menu
や @retrospect
を置き換えます。
GUIでは最大128個のボタンを作成できます。
ボタンの種類には、押されるとラベルにジャンプするものや、フラグがセットされているときだけ表示されるものなどがあります。
なお、GUI定義ファイルはコンフィグ画面やセーブ・ロード・履歴画面の定義にも利用されます。
GUI定義ファイル menu.txt
を読み込んでGUIを実行します。
@gui menu.txt
右クリックによるキャンセルを許可します。
@gui menu.txt cancel
@if [変数] [条件] [数値] [行き先]
@フラグでジャンプ [変数] [条件] [数値] [行き先]@gui [file=ファイル]
条件式とマッチするときだけラベルにジャンプします。
利用できる条件の種類は下記の通りですが、
普通のノベルゲームを作る分には ==
(等しい場合) だけの利用で問題ありません。
条件の種類 | 意味 |
---|---|
> | a > b (aがbより大きい) |
>= | a ≧ b (aがbより大きいか等しい) |
== | a = b (aとbが等しい) |
<= | a ≦ b (aがbより小さいか等しい) |
< | a < b (aがbより小さい) |
!= | a ≒ b (aとbが等しくない) |
条件文の左側はローカル変数名($0
など)か、グローバル変数名($10000
など)か、名前変数名(%a
など)である必要があります。
条件文の左側がローカル変数名かグローバル変数名のとき、条件文の右側は整数(1
など)か、ローカル変数名($0
など)か、グローバル変数名($10000
など)を指定できます。
条件文の左側が名前変数のとき、条件文の右側には文字列のみ指定できます。文字列中の変数名は展開されません。
ローカル変数の値でシナリオを分岐します。
ローカル変数 $1
の値が 1
であれば、ラベル abc
にジャンプします。
つまり、フラグが立っていればシナリオを分岐します。
@if $1 == 1 abc
変数の値が1以外です。つまり、フラグが立っていないということです。
ここにシナリオを記述します。
@goto end
:abc
変数の値が1です。つまり、フラグが立っているということです。
ここにシナリオを記述します。
:end
名前変数の値でシナリオを分岐します。
名前変数 %a
の値が みどり
であれば、ラベル MIDORI
にジャンプします。
デフォルトの名前のときだけイベントを発生させるときに使えます。
@if %a == みどり MIDORI
名前がみどり以外です。
ここにシナリオを記述します。
@goto end
:MIDORI
名前がみどりです。
ここにシナリオを記述します。
:end
:ラベル名
ジャンプ先となるラベルを作成します。
ラベルはゲームの見た目には影響しません。
ラベルの名前には日本語を使うことも可能です。
ループします。
:ジャンプ先
何かメッセージを表示する
@goto ジャンプ先
@load [ファイル]
@load [file=ファイル]
@シナリオ [ファイル=ファイル]
スクリプトファイルにジャンプします。
スクリプトファイルはフォルダtxt
の中に存在する必要があります。
スクリプトファイル 001.txt
にジャンプします。
@load 001.txt
注意: このコマンドは廃止予定です。代わりに @gui
を使用してください。
@menu [...長い...]
画像を表裏の2枚使ってメニューを表示します。
ボタンを16個まで作成できます。
基本的に1枚目の画像が表示されますが、ボタンがマウスでポイントされている間は、そのボタンの領域だけ2枚目の画像が表示されます。
メニュー画面は右クリックでキャンセルできません。
@menu menu.png menu-selected.png START 640 480 240 120 END 880 600 240 120
:START
:END
引数の意味:
menu.png
... 1枚目の画像menu-selected.png
... 2枚目の画像START
... ボタンが押されたときのジャンプ先ラベル640 480
... ボタンを表示する位置(ボタンの左上座標)240 120
... ボタンのサイズ
メッセージボックスにテキストを出力します。
\n
で改行できます。
\#{RRGGBB}
でフォントの色を変更できます。
\@{サイズ}
でフォントのサイズを変更できます。
\w{秒数}
でウェイトを挿入できます。
\p{x座標,y座標}
で描画位置を変更できます。
長\^{おしゃまんべ}万部
でルビを振ることができます。
行の先頭に \
を置くことで、前の行を継続できます。(全画面ノベルで使用)
$数字
でローカル変数やグローバル変数の値の数値を出力できます。
%アルファベット小文字
で名前変数の値の文字列を出力できます。
こんにちは、新しいノベルゲームです。
注意: このコマンドは通常のノベルゲームでは使用されません。
@news [...長い...]
@switch
の亜種です。
親選択肢の最初の4つが、北、東、西、南に表示されます。
ダンジョン探索のような場面のために存在しますが、よほど特殊な場合を除いて使いません。
親選択肢に限り、表示メッセージに *
を指定することで、選択肢を非表示にすることができます。
注意: このコマンドは廃止予定です。代わりに @gui
を使用してください。
@retrospect [...長い...]
CG鑑賞モードを実行します。
@menu
と同様に表裏2枚の画像を使用してボタンを作成しますが、
@retrospect
のボタンはイベントCGのサムネイルです。
作成できるボタンの数は12個までです。
それぞれのボタンに変数を指定して、変数の値が 0
のときはボタンを隠します。
また、@menuと異なり右クリックでキャンセルが可能です。この場合次のコマンドに進みます。
引数が多いです。先頭から順に7つは、次のようになっています。
以降、ボタンの数だけ、次の4つを繰り返します。
@retrospect menu.png menu-selected.png 0 0 0 320 240 PICTURE1 $1 320 240
キャンセルされました
@goto END
:PICTURE1
@bg picture1.png 1.0
@click
:END
@return
サブルーチンから戻ります。
通常のノベルゲームでは使用しません。
サブルーチン SUB
を実行します。>
@gosub SUB
:SUB
ここに何らかの処理やメッセージを記述します。
@return
@se [ファイル]
@se [file=ファイル]
@効果音 [ファイル=ファイル]
SE(効果音)を再生します。
SEファイルはフォルダ se
に格納されている必要があります。
再生可能なファイル形式は、44.1kHzのOgg Vorbisのみです。
SEを再生します。
@se click.ogg
SEを停止します。
@se stop
SEをリピート再生します。
@se sample.ogg loop
ボイストラックでSEを再生します。
この機能は音量設定画面でボイス再生を行う際に使います。
音声ファイルは se
フォルダのものが用いられます。
@se click.ogg voice
注意: このコマンドは廃止予定です。代わりに @choose
を使用してください。
@select [...長い...]
選択肢を表示してラベルにジャンプします。
このコマンドは簡易版なので、選択肢の数は3つに固定されています。
@select label1 label2 label3 おはよう こんにちは こんばんは
:label1
おはよう
@goto end
:label2
こんにちは
@goto end
:label3
こんばんは
:end
*キャラ名*セリフ
*キャラ名*音声ファイル*セリフ
キャラ名「セリフ」
メッセージボックスにセリフのテキストを出力します。
また、名前ボックスにキャラクタの名前を出力します。
ボイスを再生することができます。
ボイスファイルは、フォルダ cv
の中に存在する必要があります。
ボイスファイルの形式は、44.1kHzのOgg Vorbisである必要があります。
メッセージと同様に、 \n
で改行できるほか、 $数字
でローカル変数やグローバル変数の値の数値を出力できます。
また、%アルファベット小文字
で名前変数の値の文字列を出力できます。
セリフを出力します。
*名前*こんにちは、新しいノベルゲームです。
ボイスを再生して、セリフを出力します。
*名前*001.ogg*こんにちは、世界。
指定したビープ音をリピート再生して、セリフを出力します。
*名前*@beep.ogg*こんにちは、新しいノベルゲームです。
@set [変数] [演算子] [値]
@フラグをセット [変数] [演算子] [値]
ローカル変数、グローバル変数、名前変数に値をセットします。
「ローカル変数」はセーブデータごとに値が異なり、 $0
から $9999
までの10000個を利用できます。
「グローバル変数」は、全てのセーブデータで共通の値となり、 $10000
から $10999
までの1000個を利用できます。
ローカル変数とグローバル変数は整数で、変数の初期値はすべて 0
です。
「名前変数」はセーブデータごとに値が異なり、 %a
から %z
までの26個を利用できます。
名前変数は文字列で、変数の初期値はすべて空の文字列です。
@set
で利用できる計算には下記のものがあります。名前変数には代入以外使えません。
計算の種類 | 意味 |
---|---|
= | 単純に a に b を入れます(代入) |
+= | a に b を足し算します(加算) |
-= | a から b を引き算します(減算) |
*= | a に b をかけ算します(乗算) |
/= | a を b で割り算します(除算) |
%= | a を b で割った余りを求めます(剰余) |
ローカル変数 $0
に値 1
を代入します。
フラグのセットに利用します。ローカル変数の初期値は 0
なので、フラグが立ったことになります。
@set $0 = 1
ローカル変数 $10
に値 23
を加算します。
好感度の加算などに応用できます。
@set $10 += 23
ローカル変数 $0
に 0
から 9
までのランダムな値を代入します。
最初にランダムな数を $RAND
で求めてから、 10
で割った余りを計算しています。
ランダムなイベント発生に応用できます。
@set $0 = $RAND
@set $0 %= 10
ローカル変数 $1
にローカル変数 $2
を加算します。
好感度の計算などに利用できます。
@set $1 += $2
名前変数 %a
に文字列 みどり
を代入します。
デフォルトの名前を設定するのに利用できます。
@set %1 = みどり
@setconfig [コンフィグ名] (値)
コンフィグをゲーム実行中に書き換えます。
メッセージボックスを変更します。画面いっぱいを使うノベルと、アドベンチャー形式を切り替えるのに使います。
@setconfig msgbox.bg.file msgbox-bg.png
...
@setconfig update-msgbox-and-namebox
@setsave [disable/enable]
セーブ・ロード画面の表示を禁止・解禁します。
特別なケースとして、もし禁止状態であったとしても、
@goto $LOAD
あるいは @goto $SAVE
を実行すると、
その禁止状態は解除されます。
この機能は通常のノベルゲームでは使いません。
セーブ・ロード画面を有効化(解禁)します。 [デフォルト設定]
@setsave enable
セーブ・ロード画面を無効化(禁止)します。
@setsave disable
@shake [方向] [秒] [回数] [大きさ]
@shake [direction=方向] [duration=秒] [times=回数] [amplitude=大きさ]
@振動 [direction=方向] [秒=秒] [回数=回数] [大きさ=大きさ]
画面を揺らします。
1.0秒かけて、3回、横方向に100px、画面を揺らします。
なお、 horizontal
は h
と省略できます。
@shake horizontal 1.0 3 100
1.0秒かけて、3回、縦方向に100px、画面を揺らします。
なお、 vertical
は v
と省略できます。
@shake vertical 1.0 3 100
@skip [enable/disable]
@スキップ [許可/不許可]
ウェイトのスキップを禁止・解禁します。
この機能は演出の他にも、ゲーム起動時にブランドロゴを表示するのに使用できます。
特殊な使い方として、メッセージやセリフの途中でのスキップも禁止できますが、この場合は @setsave disable
でセーブ・ロード画面を無効にするとともに、 @goto $LOAD
と @goto $SAVE
を使わないでください。
スキップを有効にします。 [デフォルト設定]
@skip enable
スキップを無効にします。
@skip disable
@switch [...長い...]
注意: このコマンドは通常のノベルゲームでは使用されません。
注意: 通常の選択肢を作成するには @choose
を使用してください。
2階層の選択肢を表示します。
1階層目を親選択肢と呼び、2階層目を子選択肢と呼びます。
親選択肢が最大8個、子選択肢が最大8個で、合計で最大64分岐を記述できます。
2階層で4つの選択肢を表示します。
@switch 親選択肢1 親選択肢2 * * * * * * LABEL1 子選択肢1 LABEL2 子選択肢2 * * * * * * * * * * * * LABEL3 子選択肢3 LABEL4 子選択肢4 * * * * * * * * * * * *
:LABEL1
:LABEL2
:LABEL3
:LABEL4
@video [ファイル]
@video [file=ファイル]
@動画 [ファイル=ファイル]
動画を再生します。この機能は現在のところ、WindowsとMacでのみ有効です。
Windowsで再生できる動画は .wmv
ファイルです。
Macで再生できる動画は .mp4
ファイルです。
動画ファイルは mov
ディレクトリに格納します。
mov
ディレクトリは data01.arc
ファイルに格納されません。
動画を再生します。
@video sample.wmv
@vol [トラック] [音量] (秒)
@vol [track=トラック] [volume=音量] (duration=秒)
@音量 [トラック=トラック] [音量=音量] (秒=秒)
時間を指定してボリュームを調整します。
調整できるトラックは、小文字で bgm
, voice
, se
の3つです。
または、日本語で 音楽
, 声
, 効果音
と指定することもできます。
これらの3トラックの音量は初期値で 1.0
で、セーブデータごとに別な値に変化します。
音量の値は 0.0
から 1.0
の範囲で指定できます。 0.0
が無音で、 1.0
が最大音量です。
BGMの音量を 1.0
秒かけて 0.5
にします。
bgm
は b
と省略することもできます。
@vol bgm 0.5 1.0
@wait 1.0
特殊な例で、BGMの「グローバル音量」を即座に0.5に設定します。
@vol BGM 0.5 0
グローバル音量とは、全てのセーブデータで共通となる音量で、ゲームの設定画面から設定するものです。
グローバル音量を設定するには、トラック名に大文字で BGM
, VOICE
, SE
を指定します。
最終的な音量は「セーブデータごとの音量 × グローバル音量」となります。
グローバル音量を指定する際、時間には 0
(一瞬でという意味)を指定します。
@wait [秒]
@wait [duration=秒]
@時間待ち 秒=秒
時間を指定して待機します。
途中、キーボードやマウスの入力があれば待機を終了します。
待機中、メッセージボックスは表示されません。
5秒待ちます。
@wait 5.0
@wms [ファイル]
@wms [file=ファイル]
@スクリプト [ファイル=ファイル]
WMS (Watermelon Script) を実行します。
hello.txt
を実行します。
@wms hello.txt
@anime [ファイル] (オプション)
@アニメ [ファイル] (オプション)
アニメーションファイルを再生します。
アニメーションファイルはフォルダ anime
に配置する必要があります。
Suika2/12.26現在、回転や拡大縮小はサポートされていませんが、Suika2/13.0までにサポートされる見込みです。
振動については、連続する移動を記述すれば実現できます。
メッセージ表示の裏側で進行するアニメーションは、Suika2/12.27でサポートされます。
anime1.txt
を再生します。
@anime anime1.txt
anime1.txt
を再生します。折りたたみシステムメニューを表示しません。
@anime anime1.txt nosysmenu
anime1.txt
を再生します。メッセージボックスを表示します。
@anime anime1.txt showmsgbox
# アニメーションファイル
# 中央キャラを2回移動する
move {
layer: chc; # 中央キャラクタ CHaracter Center
clear: chc; # 既存のアニメーションを破棄する(そのレイヤの最初のmoveにだけ記述)
start: 0.0; # 時刻0.0(秒)から開始する
end: 2.0; # 時刻2.0(秒)に終了する
from-x: 0; # 開始するX座標
from-y: 0; # 開始するY座標
from-a: 255; # 開始するアルファ値
to-x: 100; # 終了するX座標
to-y: 100; # 終了するY座標
to-a: 255; # 終了するアルファ値
}
move {
layer: chc; # 中央キャラクタ CHaracter Center
start: 2.0; # 時刻2.0(秒)から開始する
end: 4.0; # 時刻4.0(秒)に終了する
from-x: 100; # 開始するX座標
from-y: 100; # 開始するY座標
from-a: 255; # 開始するアルファ値
to-x: 0; # 終了するX座標
to-y: 0; # 終了するY座標
to-a: 255; # 終了するアルファ値
}
# それと同時に、右キャラを1回移動する
move {
layer: chr; # 中央キャラクタ CHaracter Right
clear: chr; # 既存のアニメーションを破棄する(そのレイヤの最初のmoveにだけ記述)
start: 0.0; # 時刻0.0(秒)から開始する
end: 3.0; # 時刻3.0(秒)に終了する
from-x: 1000;# 開始するX座標
from-y: 0; # 開始するY座標
from-a: 255; # 開始するアルファ値
to-x: 0; # 終了するX座標
to-y: 0; # 終了するY座標
to-a: 255; # 終了するアルファ値
}