メインコンテンツへスキップ

choose

Mahiru約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) を参照してください。

注意

()[] は必ず -> の左側に書いてください。選択肢テキストにコロン、セミコロン、縦棒などの特殊記号を表示したい場合は、エスケープ記法を使用してください。詳しくは特殊記号のエスケープを参照してください。