「Dialog choice」 は、ユーザーに複数に選択肢の中から、1つ、もしくは1つ以上の選択を要求することができるブロックです。
以下の画像は、選択と複数選択の例です。
単一の選択ダイアログでは、選択した瞬間にファイバーの進行が再開されます。
複数選択ダイアログでは、選択した段階ではダイアログが閉じられることはなく、決定(OK)を押すか、キャンセルする事によって、ファイバーの進行が再開されます。
選択肢は、Array、または、Dictionary で定義することができます。
Choice =["選択1", "選択2", "選択3"]
Choice = {"s1": "選択1", "s2": "選択2", "s3": "選択3"}
Dictionary では、値(Value) の部分が選択肢として表示されます。
キー(Key) は、値(Value)の選択肢が選択されたキー(Key)が結果として出力されます。
{Key: Value}
Choice = ["選択1", "選択2", "選択3"]
選択されたものが “選択2” の場合は、戻り値が次にようになります。
= [1]
配列の中に選択されたインデックスが出力されます。
配列であることに注意する必要があります。
Choice = ["選択1", "選択2", "選択3"]
選択されたものが “選択1” と “選択3” の場合は、戻り値が次にようになります。
= [0, 2]
Choice = {"s1": "選択1", "s2": "選択2", "s3": "選択3"}
選択されたものが “選択3” の場合は、戻り値が次にようになります。
= ["s3"]
配列の中に選択されたインデックスが出力されます。
配列であることに注意する必要があります。
Choice = {"s1": "選択1", "s2": "選択2", "s3": "選択3"}
選択されたものが “選択1” と “選択2” の場合は、戻り値が次にようになります。
= ["s1", "s2"]
Dialog choice の結果出力にご用心
Dialog choise の単一選択の場合、結果は一つだけに限定されるので、うっかり結果が配列であることを忘れてしまうことがあります。
本来は、[2]
のように配列として出力されているものを、
うっかり、 2
として勘違いを起こしてしまうんです。
そうしてしまうと、途中で思いどおりの動作ができなくなり、長い時間(運がいいと短い時間)迷宮入りしてしまうことがあるのでご注意ください。