show_question_async()


Game Maker Language リファレンス > 組み込み関数 用途別 > 非同期関数 > show_question_async

show_question_async

モーダルでないYES/NOダイアログを表示します

構文

show_question_async(string);
String
ダイアログに表示するメッセージ

戻り値

Real
ダイアログの結果"id"

説明

この関数はYES/NOダイアログを表示します。これは非同期関数であり、GameMaker:Studioはその選択が決定するのを待ちません(通常通りのイベントを実行します)。"Yes"または"No"が押下されることで、"async_load"変数にds_map形式でその結果が格納されます。

ds_mapには"id"と"status"の2つのキーが格納されます。"id"はこの関数の戻り値と比較することで整合性をチェックし、"status"は"Yes"が押されたらtrue、"No"が押されたらfalseを格納します。

マウスの左クリックイベントで、鎧を購入するかどうかのYES/NOダイアログを表示するとします。

// ダイアログIDを "msg" に保存
msg = show_question_async("Do you want to buy some armour for " + string(armour[0, 5]) + "coins?");

その結果の判定はDialogイベントで以下のように記述します。

var i_d, stat;
i_d = ds_map_find_value(async_load, "id");
if i_d == msg // "id" が "msg" の値と一致していたら対象のダイアログの結果
{
  if ds_map_find_value(async_load, "status")
  {
    // "status" が true(1) ならば YES を選んだ処理をする
    coins -= armour[0,5];
    global.protection += armour[0,0];
  }
}

関数の戻り値と"id"を比較し、指定のダイアログが押されたかどうかを判定し、さらに "status"がtrueであれば、鎧の購入処理をします。

Wiki内検索

#search(): You already view a search box

MENU

ドキュメント

GMLリファレンス

2ch

その他



最新の30件

2020-06-04 2020-05-27 2020-05-18 2020-05-12 2020-05-10 2020-05-08 2020-05-07 2020-04-30 2020-04-28 2020-04-27

人気の10件

今日の10件



これまでの訪問者: 720
今日の訪問者: 1
昨日の訪問者: 0
閲覧者: 3