A propos
Ici, je vais vous montrer une des façons (bien sûr il y a différentes manières de s'en servir) pour sauvegarder et charger des variables numériques ou des variables de type String (chaîne de caractères) à partir du LocalStorage.
Si vous voulez m'encourager, vous pouvez obtenir un exemple capx totalement fonctionnel ici
Game Template 8 - LocalStorage
(L'exemple capx premium utilisant un tableau et un dictionnaire pour stocker plus d'une variable dans le LocalStorage en une seule opération, prenez-en simplement connaissance)
Exemples gratuits
De plus, j'ai élaboré des exemples gratuits en utilisant le LocalStorage. Vous pouvez télécharger ces exemples à partir de mon répertoire Dropbox ou de ma page Web.
Dropbox : LocalStorage examples (Dropbox)
Page Web : LocalStorage examples (Shatter-Box)
S'il vous plaît, notez que l'anglais n'est pas ma langue natale, mais je ferai de mon mieux pour écrire dans un anglais correct. Si vous notez quelque chose d'incorrect, merci de me notifier via un message privé.
Merci !
Le Plugin Local Storage
Généralités
Note: Tout d'abord, vérifiez que vous avez bien téléchargé la dernière version de Construct 2. Sinon le plugin ne sera pas inclus dans votre éditeur.
On pourrait comparer le LocalStorage à un simple tableau de deux rangées (Clé, Valeur). Voir l'illustration ci-dessus.
La clé
La clé sera utilisée pour identifier et récupérer la valeur qui lui est affectée à partir de LocalStorage. Vous pouvez enregistrer autant de clés que vous le souhaitez dans votre LocalStorage. Chaque clé peut enregistrer sa propre valeur.
(Cette clé sera utilisée plus tard pour récupérer ou mettre à jour la valeur enregistrée à une certaine clé.)
La Valeur
La valeur est enregistrée pour une certaine clé. Elle peut être de toute nature, comme une valeur numérique, une chaîne ou même un tableau comme JSON (cela vous permet d'enregistrer un tableau entier dans le LocalStorage en utilisant seulement 1 clé).
Exemple de code
Maintenant, le code. D'abord nous devons ajouter leplugin LocalStorage au projet.
Si le plugin n'apparaît pas, vérifiez que vous avez bien installé la dernière version de Construct 2.
Ensuite, nous laissons le LocalStorage vérifier si la clé existe déjà. Ajoutez simplement le code suivant à votre projet.
Cela vérifiera si votre clé existe déjà dans le LocalStorage ou non.
- playercoins - est une variable de type numérique.
- playercoins_key est la clé dans laquelle la valeur de la variable 'playercoins' sera stockée ultérieurement (vous pouvez nommer la clé comme bon vous semble, j'ai simplement ajouté '_key' pour montrer que la clé n'a pas besoin de correspondre à la variable)
L'étape suivante consiste à ajouter la fonction qui doit être effectuée si la clé existe ou pas.
Si la clé existe
Si la clé existe, nous la récupérons à partir du LocalStorage en utilisant l'action 'Get Item (playercoins_key)'. Puis, si la clé a été obtenue avec succès, nous allons mettre à jour la valeur de notre variable 'playercoins' avec la valeur enregistrée dans le LocalStorage .
Note #1: C'est toujours la dernière valeur récupérée, qui est enregistrée dans 'LocalStorage.ItemValue'. Donc, si vous souhaitez récupérer une autre valeur, vous devez d'abord effectuer «Get Item (autre clé)». C'est seulement à ce moment que la valeur de l'autre clé sera enregistrée dans 'LocalStorage.ItemValue'.
Note #2: Merci à un commentaire d'utilisateur. Il n'est pas nécessaire d'appeler 'Get Item' ('Obtenir un élément') sur 'Check if item exists' ('Vérifier si l'élément existe'). Vous pouvez donc utiliser 'LocalStorage.ItemValue' directement dans l'événement 'Vérifier si l'élément existe'.
Si la clé n'existe pas
Au premier démarrage de votre projet, LocalStorage est vide. Donc, dans ce cas, nous devons ajouter l'action suivante à l'événement 'if item X missing' ('si l'élément X est manquant').
Cette fonction va créer un nouvel élément avec la clé 'playercoins_key' et définira sa valeur sur celle de la variable 'playercoins'.
Questions?
If you have any questions or if you are missing something in this tutorial, please use this topic to inform me. Si vous avez des questions ou s'il vous manque des informations dans ce tutoriel, utilisez ce sujet pour m'informer.
LocalStorage - Forum