04. よく使う命令
入門に必要な命令だけを抜粋します。完全一覧は 公式マニュアル 第10章 を正としてください。
実演は GameData\data0\scenario\feature_demo.txt の各章にあります(*b_text / *b_bg / *b_chara / *b_sound / *b_select / *b_branch など)。
| 単位 | 使う命令 |
|---|---|
| フレーム(60 = 1 秒) | bg・chara_show / chara_change / chara_hide・move・BG_FADE などの BG_ マクロ(BG_CROSS を除く) |
| ミリ秒(1000 = 1 秒) | fadein / fadeout・crossfade・wipe・trans・bgm / bgm_stop / bgmfade・wait・evcg_show / evcg_hide・BG_CROSS |
4.1 背景
bg 0 bg01a
bg 0 bg01c 0 0 fadein 30 sync
clearbg
| 要素 | 意味 |
|---|---|
0 | 層の番号 |
bg01a | 背景の名前(拡張子なし) |
0 0 | 位置(x と y) |
fadein 30 sync | 30 フレームでフェードインし、終わるまで待つ |
関連: crossfade bg01b 1000(重ねて切り替え)/wipe bg01b 800 left(方向つき)/fadethrough bg01a 1000(単色を挟む)。
ルール画像(data7\rule の白黒画像)でも切り替えられます。
bg 0 bg01b 0 0 015 60
wipe bg01b 1000 1080p_rule10
trans_begin
bg 0 bg01c
chara_show 0 smile center 0
trans 015 1200
bg 0 bg01b 0 0 015 60… ルール画像015で、60 フレームかけて背景を替えます。trans_begin→ 場面を変える →trans 015 1200… 立ち絵ごと、場面まるごと切り替えます。
trans_begin → trans の演出は Windows だけで効きます。ほかの環境では、演出なしで場面が変わります。
images/04_bg.png
bg 命令で背景が表示された画面
images/04_bg.png4.2 立ち絵
chara_show 0 smile center 30
chara_change 0 trouble 15
chara_hide 0 30
chara_clear
| コマンド | 用途 |
|---|---|
chara_show 層 表情 位置 フレーム [sync] | 表示(位置は center / left / right / middleleft / middleright) |
chara_change 層 表情 [フレーム] | 表情・差分の切替(位置はそのまま) |
chara_hide 層 [フレーム] | 退場 |
chara_clear | 立ち絵をまとめて消す |
chara_fit 層 割合 | 絵の上から何 % を映すか(100 = 全身) |
2 人並べるときは、層の番号を変えます。
chara_show 0 student_smile left 20 sync
chara_show 1 yukata_trouble right 20 sync
横の位置は、左から left(画面の 1/6)・middleleft(1/3)・center(中央)・middleright(2/3)・right(5/6)です。Windows・Android・ブラウザで同じ位置に出ます。
- 表情の名前だけで見つかるのは、キャラのフォルダ(
data4\stand\ch01など)がsystem\SoundInit.txtの表に登録してあるためです。 - 同じ表情名を 2 人が持つときは、
ch02/smileのようにフォルダから書きます。
イベント CG は別系統です。差分の名前だけで出すと、ベースの絵が自動で下に敷かれます(data3\cg01)。
evcg_show "smile" 600
evcg_hide 500
images/04_chara.png
images/04_chara.png4.3 メッセージ・名前
msgshow
name "太郎"
今日はいい天気だ。
name ""
msghide
| コマンド | 用途 |
|---|---|
| 行頭タブの行 | 文章の表示+クリック待ち |
msgshow / msghide | ウィンドウの表示/非表示 |
name | 話者名(name "" で地の文に戻す) |
message "…" | 明示的なメッセージ表示 |
msgclear | 表示中の文章を消す |
textspeed 30 | 文字送りの速さ(1 文字あたりのミリ秒。0 で一度に表示) |
wait 1000 | ミリ秒待機 |
click | クリック待ち |
文章の中で、ふりがな・色・大きさを変えられます。
<ruby=はる>春</ruby>の光が、石畳に落ちています。
<color=#ffd45a>色を変えた文字</color>と、<size=34>大きくした文字</size>も置けます。
images/04_message.png
images/04_message.png4.4 ラベルとジャンプ
*start
jump *ending
*ending
end
| 書き方 | 意味 |
|---|---|
*name | ラベル(label name とも書けます。コロンは付けません) |
jump *ラベル | 同じファイルの中のラベルへ飛ぶ |
jump ファイル *ラベル | 別のファイルのラベルへ飛ぶ(フォルダを書かなければ scenario\ の下) |
jump ファイル | 別のファイルの先頭へ飛ぶ |
gosub *ラベル / return | サブルーチン(呼んで、戻る) |
end / exit | 終了してタイトルへ戻る(最後の行まで進んだときも同じ) |
引数が 1 つで * が無いときは、まずラベルとして探し、無ければファイル名として扱います。同じファイルの中へ飛ぶときは、* を付けると打ち間違いに気づきやすく安全です。
4.5 選択肢
ラベルの * は、付けても付けなくても動きます。
コマンド形式(シンプル)
choice "はい" *yes_label "いいえ" *no_label
*yes_label
選んだのは「はい」です。
jump *after_choice
*no_label
選んだのは「いいえ」です。
jump *after_choice
*after_choice
1 つずつ足す形式(デモで多用)
#select_clear
#select_add "元気よく答える", *answer_a
#select_add "だまっている", *answer_b
#select_add "まだ選べない項目", *answer_b, 0
#select_show
- 3 つめの引数に
0を渡すと、見えているのに選べない項目になります。 - 1 行で書くなら
#select "A", *label_a, "B", *label_bも使えます。 - 選択肢を出す前に、自動でオートセーブが 1 件残ります(10章)。
最初は choice の方が読みやすいです。
時間制限付きの選択肢
選択肢の直前の行に select_timeout 制限ms [既定] を書くと、その選択肢に制限時間が付きます(# は付けません)。
select_timeout 5000 *no_answer
choice "はい" *yes_label "いいえ" *no_label
*no_answer
……答えられないまま、時間が過ぎた。
既定は、時間切れのときに選んだことにする選択肢の番号(1 から)か*ラベルです。ラベルは選択肢に無い飛び先でもかまいません。省くと 1 つ目の選択肢になります。- 効くのは次の選択肢 1 回だけです。選択肢には残り時間の帯が出ます。
- セーブ画面などを開いている間は時間が止まります。セーブから再開したときやシーン戻りでは、制限時間が付き直ります。
images/04_choice.png
images/04_choice.png4.6 BGM / SE
bgm title 800
bgmfade 30 600
bgmfade 100 600
bgm_stop 800
se sysse01
stopse
| 命令 | 意味 |
|---|---|
bgm 名前 [ミリ秒] | 曲を繰り返し再生(数字を付けるとフェードイン) |
bgmfade 音量 ミリ秒 | 音量を時間をかけて変える(例: 2 秒で 0 にするなら bgmfade 0 2000。止めるのは bgm_stop) |
bgm_vol 音量 | 音量をすぐ変える(0〜100) |
bgm_stop [ミリ秒] | 止める(数字を付けるとフェードアウトしてから止める) |
se 名前 [1] | 効果音(1 を付けると繰り返し) |
stopse / se_vol 音量 | 効果音を全部止める/音量 |
images/04_bgm.png
images/04_bgm.png4.7 画面フェード
fadeout 1000
fadein 1000
fadecolor out 600 255 255 255
fadecolor in 600 255 255 255
fadeoutで黒へ落とし、fadeinで明けます。どちらも終わるまで次の行へ進みません。fadecolor out|in ミリ秒 R G Bは好きな色で覆います(例は白)。- シーンの区切りでは
fadeout→ 背景差し替え →fadeinの流れが分かりやすいです。
images/04_fade.png
images/04_fade.png4.8 よくある組み合わせ(テンプレ)
*scene_room
fadeout 500
INIT_ALL
scenetitle 広場にて
bg 0 bg01a
chara_show 0 smile center 0
fadein 500
name "ヒロイン"
ようやく着いたわね。
name ""
choice "話す" *talk "見送る" *leave
| 行 | 意味 |
|---|---|
INIT_ALL | 前の場面の残り(立ち絵・演出・音など)を 1 行で消すマクロ。何かを出す前に置きます(07章)。背景と曲を残すなら INIT_KEEP |
scenetitle 広場にて | セーブ一覧に出る場面名。最初の文章が出たところで、オートセーブも 1 件残ります |
場面の終わりは、bgm_stop 800 → fadeout 800 → END_ALL の順に書くと、消えきってから後片付けできます。
区切りの良いところで autosave と書くと、その場所でオートセーブします。オートセーブは、環境設定のオートセーブが入のときだけ残ります。
4.9 コメントと sync
コメントは // がおすすめです(; や # で始まる行もコメントになります)。
// スラッシュコメント(おすすめ)
; セミコロンで始まる行もコメント
bg や chara_show の末尾に sync を付けると、演出が終わるまで次の行に進みません。
bg 0 bg01c 0 0 fadein 30 sync
chara_show 0 smile center 30 sync
fadein / fadeout は、sync を付けなくても終わるまで待ちます。暗転の途中で立ち絵がチラつくときは、前の命令に sync が付いているか確認してください。
4.10 ボイス(入門)
ボイスは data6 の下に、キャラごとのフォルダで置きます(例: data6\vo01\vo01_0001.opus)。シナリオには名前だけを書きます。
vo vo01_0001
こんにちは。
vo vo02_0001
vo_wait
1 つめは、台詞と一緒に鳴らす形です(文章を読んでいる間に声が流れます)。2 つめは、鳴り終わるまで待ってから次へ進む形です。
| 命令 | 用途 |
|---|---|
vo 名前 | ボイス再生。ファイル名の最初の _ までがキャラ ID になり、キャラ別の音量・ミュートが効きます |
vo_wait | 鳴り終わるまで待つ |
stopvoice | 途中で止める |
voice_volume vo01 30 | キャラごとの音量(0〜100)。環境設定の値をシナリオから一時的に上書きします |
voice_mute vo01 1 | キャラごとに黙らせる(0 で戻す) |
キャラ ID の一覧は system\SoundInit.txt の表にあります。実演: feature_demo.txt の *b_sound / *b_sound2。コンフィグのキャラ別ミュートは 08章 を参照。
4.11 動画(入門)
動画は data8 に置き、名前だけで呼びます。
movie logo/lumina_logo
movie 名前… 再生が終わるまで待ちます。クリックで飛ばせます。movie_play 名前… 再生を始めて、すぐ次の行へ進みます。setmovievolume 80で、先に音量を決められます。
動画は Windows・ブラウザ・Android のどれでも再生できます。実演: feature_demo.txt の *a_movie。
4.12 次に読む章
| やりたいこと | 章 |
|---|---|
| 好感度・ルート分岐 | 06. フラグと分岐 |
| 背景フェードを短く書く | 07. マクロ |
| タイトルから本編を開く | 08. タイトルと設定 |
| 命令を一覧から探す | 09. 命令ダイジェスト |
| セーブ地点を設計する | 10. セーブとロード |