choose
約1分
choose
選択肢を表示します。
ステートメント内容
複数の選択肢を指定します。各選択肢は 選択肢テキスト と ジャンプ先 の 2 部分で構成され、英語のコロン : で区切ります。選択肢同士は | で区切ります。
詳しくは分岐の選択を参照してください。
現在ジャンプできる先:
- シーンファイル
- 現在のシーン内のラベル
キャラA:今日はどこへ行こう?;
choose:店へ行く:chapter_01/shop.txt|誰かの家:chapter_01/house_b.txt|家にいる:home;
;
label:home;
キャラA:やっぱり家にいよう。;
プレイヤーが選択するまで、choose は後続の物語とオート再生を一時停止します。選択肢をクリックすると選択肢は消え、物語は対応するシーンファイルまたはラベルへジャンプします。
「シーンファイル」へジャンプする選択肢を選んだ場合、現在のシーン内で後続のコマンドは実行されません。
無効な選択肢(ジャンプ先が存在しないなど)を選んだ場合、WebGAL は現在のシーンの後続コマンドを実行し続けます。
条件付き表示と条件付き有効化
各選択肢は、選択肢テキストの前に条件プレフィックスを追加できます。
(条件式): 選択肢を表示するかどうかを制御します。[条件式]: 選択肢をクリック可能にするかどうかを制御します。->: 条件プレフィックスと実際の選択肢内容を区切ります。
setVar:hasTicket=true;
setVar:doorPower=1;
choose:(hasTicket==true)->チケットを見せる:ticket|(doorPower>0)[doorPower>1]->力ずくで開ける:force|家に帰る:home;
;
label:ticket;
キャラA:チケットがあれば入れそうだ。;
jumpLabel:end;
;
label:force;
キャラA:力が十分なときだけここを選べる。;
jumpLabel:end;
;
label:home;
キャラA:先に家へ帰ろう。;
;
label:end;
上の例では:
チケットを見せるはhasTicket==trueの場合だけ表示されます。力ずくで開けるはdoorPower>0の場合だけ表示され、doorPower>1の場合だけクリックできます。- 条件プレフィックスのない選択肢は常に表示され、クリックできます。
条件式の書き方は共通パラメータ -when と同じです。詳しくは (global) を参照してください。
注意
() と [] は必ず -> の左側に書いてください。選択肢テキストにコロン、セミコロン、縦棒などの特殊記号を表示したい場合は、エスケープ記法を使用してください。詳しくは特殊記号のエスケープを参照してください。