show_message_async


La description

Cette fonction ouvre une fenêtre et affiche le message que vous définissez dans la fonction pour l'utilisateur. Il s'agit d'une fonction asynchrone, et en tant que tel, GameMaker Studio 2 ne bloque pas le périphérique sur GameMaker Studio 2 il s'exécute en attendant la réponse, mais continue à exécuter les événements normalement. Une fois que l'utilisateur a appuyé sur le bouton "OK", un événement Dialog asynchrone est déclenché qui, pour la durée de cet événement seulement, aura un ds_map stocké dans la variable async_load.

Cette carte contiendra les deux clés, "id" et "status", avec "id" étant la valeur qui a été retournée par la fonction lors de l'appel, et le "statut" étant soit true pour le bouton "OK" appuyé, ou false si le message a été annulé (si disponible car toutes les plateformes cibles ne permettent pas l'annulation des dialogues).


Syntaxe:

show_message_async(string);

Argument La description
String Le message à montrer à l'utilisateur.


Résultats:

Real


Exemple étendu:

L' événement de presse de la souris gauche (par exemple) de l'objet qui affiche le message aura le code suivant:

msg = show_message_async("You will now be taken to the store");

Ce qui précède montrera un message avec la chaîne donnée. L'identifiant du message est stocké dans la variable "msg" et sera utilisé dans l' événement Dialogs asynchrone comme indiqué ci-dessous:

var i_d, stat;
i_d = ds_map_find_value(async_load, "id");
if i_d == msg
   {
   if ds_map_find_value(async_load, "status")
      {
      url_open("https://play.google.com/store");
      }
   }

Le code ci-dessus vérifie la clé "id" du retour ds_map contre la valeur stockée dans la variable "msg". Si elles sont identiques, elle vérifie ensuite si le bouton "OK" a été enfoncé (plutôt que la fenêtre est fermée / annulée) et si elle revient true ça ouvre une url.