buffer_load_async

Syntaxe:

buffer_load_async(buffer, filename, offset, size);


Argument La description
buffer L'index du tampon à charger.
filename Le nom du fichier à charger.
offset Le décalage dans la mémoire tampon à charger (en octets).
size La taille de la zone tampon à charger (en octets).


Retours: Real


La description

Avec cette fonction, vous pouvez charger un fichier que vous avez créé précédemment en utilisant buffer_save fonction (ou l'une des autres fonctions de sauvegarde des tampons) dans un tampon. Le "décalage" définit la position de départ dans le tampon pour le chargement (en octets), et la "taille" est la taille de la zone tampon à charger à partir de ce décalage (également en octets).

La fonction renvoie une valeur d'ID unique qui peut ensuite être utilisée pour vérifier l' événement asynchrone async_load Valeur d'ID, comme indiqué dans l'exemple étendu ci-dessous. le async_load La carte dans l'événement aura les deux paires clé / valeur suivantes:

  1. "id": l'identifiant de la fonction asynchrone renvoyée par la fonction de sauvegarde.
  2. "status": retournera true si les données ont été sauvegardées / chargées correctement, et false autrement.




Exemple étendu:

le buffer_load_async() La fonction peut être appelée à partir de n'importe quel événement, et comme elle est asynchrone, le rappel peut être presque instantané ou prendre plusieurs secondes. Appeler la fonction est simple et ressemblerait à ceci:

loadid = buffer_load_async(buff, "Player_Save.sav", 0, 16384);

Le code ci-dessus charge le contenu du fichier " Player_Save.sav " dans le tampon donné, en stockant l'ID de l'appel de fonction dans la variable " loadid ". Lorsque le chargement est terminé, l'événement Save / Load asynchrone est déclenché et vous pouvez analyser le async_load carte pour l'ID correct de la fonction, comme ceci:

if ds_map_find_value(async_load, "id") == loadid
   {
   if ds_map_find_value(async_load, "status") == false
      {
      show_debug_message("Load failed!");
      }
   }

Le code ci-dessus vérifiera d'abord l'identifiant de la carte ds_map créée, puis vérifiera l'état du rappel, en publiant un message de débogage s'il y a eu des problèmes.