Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
fr:gdevelop5:tutorials:platform-game:5-add-coins-and-number-of-collected-coins [2018/07/08 08:36]
poustoff621 [Prochaine étape : ajouter des ennemis]
fr:gdevelop5:tutorials:platform-game:5-add-coins-and-number-of-collected-coins [2018/09/03 14:12] (current)
poustoff621
Line 1: Line 1:
-FIXME **This page is not fully translated, yet. Please help completing the translation.**\\ //(remove this paragraph once the translation is finished)// 
- 
 # Ajouter des pièces de monnaie et afficher le nombre de pièces récoltées # Ajouter des pièces de monnaie et afficher le nombre de pièces récoltées
  
Line 9: Line 7:
 ## Ajouter des pièces de monnaie ## Ajouter des pièces de monnaie
  
-Commencez par créer un nouvel objet `Spriteet donnez-lui une animation contenant une image `coinGold.png`. ​+Commencez par créer un nouvel objet **Sprite** et donnez-lui une animation contenant une image `coinGold.png`. ​
  
 {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-28_at_23.29.30.png?​nolink |}} {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-28_at_23.29.30.png?​nolink |}}
  
-Nommez ce sprite `Coin`.\\  +Nommez ce sprite `Coin`. 
-Vous pouvez placer plusieurs pièces de monnaie dans ce niveau. Si vous avez besoin de nombreuses pièces, il vaut la peine d'​utiliser la technique  ​`drag and cloneofferte par l'​éditeur de scène : sélectionnez une pièce déjà placée sur la scène et, tout en maintenant la touche CTRL (ou CMD sur macOS), tirez la pièce avec la touche gauche de la souris. La pièce sera dupliquée à chaque relâché de la touche gauche.+ 
 +Vous pouvez placer plusieurs pièces de monnaie dans ce niveau. Si vous avez besoin de nombreuses pièces, il vaut la peine d'​utiliser la technique  ​**//drag and clone//** offerte par l'​éditeur de scène : sélectionnez une pièce déjà placée sur la scène et, tout en maintenant la touche CTRL (ou CMD sur macOS), tirez la pièce avec la touche gauche de la souris. La pièce sera dupliquée à chaque relâché de la touche gauche.
  
 Si vous maintenez aussi la touche MAJ, la pièce dupliquée sera à la même hauteur que la pièce d'​origine (cela marche aussi bien horizontalement que verticalement). Si vous maintenez aussi la touche MAJ, la pièce dupliquée sera à la même hauteur que la pièce d'​origine (cela marche aussi bien horizontalement que verticalement).
Line 24: Line 23:
 Il faut faire disparaître les objets pièces de monnaie lorsque le joueur les touche. Il faut faire disparaître les objets pièces de monnaie lorsque le joueur les touche.
  
-Créer un nouvel événement et ajoutez-y une nouvelle condition (`Add condition`). Sélectionnez ​`Common conditions for all objectsdans la liste de gauche, puis `Collisionet enfin `Collisionpour tester la survenue d'une collision entre deux objets. Sélectionnez `Player` pour le premier paramètre et `Coin` pour le second.+Créer un nouvel événement et ajoutez-y une nouvelle condition (**Add condition**). Sélectionnez ​**Common conditions for all objects** dans la liste de gauche, puis **Collision** et enfin **Collision** pour tester la survenue d'une collision entre deux objets. Sélectionnez `Player` pour le premier paramètre et `Coin` pour le second.
  
 {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-28_at_23.36.12.png?​nolink |}} {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-28_at_23.36.12.png?​nolink |}}
  
-Cliquez ​`OKpour confirmer.+Cliquez ​**OK** pour confirmer.
  
 Il faut maintenant ajouter une action pour supprimer la pièce touchée. Seuls les objets `Coin` qui ont rempli la première condition seront utilisés par cette action, ce qui fait que seule la pièce touchée par le joueur sera effacée. ​ Il faut maintenant ajouter une action pour supprimer la pièce touchée. Seuls les objets `Coin` qui ont rempli la première condition seront utilisés par cette action, ce qui fait que seule la pièce touchée par le joueur sera effacée. ​
  
-Activez les actions ​`Add actionet sélectionnez dans la liste de gauche ​`Common action for all objects``Objectset `Delete an object`. Sélectionnez `Coin` dans le premier paramètre pour spécifier l'​objet à détruire.+Activez les actions ​**Add action** et sélectionnez dans la liste de gauche ​**Common action for all objects****Objects** et **Delete an object**. Sélectionnez `Coin` dans le premier paramètre pour spécifier l'​objet à détruire.
  
 {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-28_at_23.41.46.png?​nolink |}} {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-28_at_23.41.46.png?​nolink |}}
Line 49: Line 48:
 Pour jour un son, il faut ajouter une autre action à l'​événement que nous avons utilisé pour effacer les pièces. Pour jour un son, il faut ajouter une autre action à l'​événement que nous avons utilisé pour effacer les pièces.
  
-Cliquez ​`Add actionjuste en dessous de l'​action ​`Delete object Coinet activez l'​action ​`Play a sounddans la catégorie ​`Audio`, ce qui fera jouer un son en même temps q'une pièce est effacée.\\ +Cliquez ​**Add action** juste en dessous de l'​action ​**Delete object Coin** et activez l'​action ​**Play a sound** dans la catégorie ​**Audio**, ce qui fera jouer un son en même temps q'une pièce est effacée. 
-L'​action ​`Play a soundprésente plusieurs paramètres. Entrez le nom du fichier son `coin.wav` dans le premier paramètre. Laissez les autres paramètres tels qu'ils sont (par exemple, ne répétez pas le son, laissez le volume à 100 par défaut et la vitesse `Pitchà 1 par défaut. )+ 
 +L'​action ​**Play a sound** présente plusieurs paramètres. Entrez le nom du fichier son `coin.wav` dans le premier paramètre. Laissez les autres paramètres tels qu'ils sont (par exemple, ne répétez pas le son, laissez le volume à 100 par défaut et le **Pitch** à 1 par défaut. )
  
 {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_17.50.22.png?​nolink |}} {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_17.50.22.png?​nolink |}}
Line 58: Line 58:
 ## Augmenter un score en utilisant des variables ## Augmenter un score en utilisant des variables
  
-Nous allons utiliser une variable pour mettre à jour et mémoriser le score du joueur.\\ +Nous allons utiliser une variable pour mettre à jour et mémoriser le score du joueur. 
-Les variables sont des conteneurs que nous pouvons utiliser pour stocker et mémoriser certaines informations telles que des nombres et des chaînes de caractères.\\+ 
 +Les variables sont des conteneurs que nous pouvons utiliser pour stocker et mémoriser certaines informations telles que des nombres et des chaînes de caractères. 
 GDevelop utilise différents types de variables. GDevelop utilise différents types de variables.
  
Line 68: Line 70:
 * __**Les variables globales**__ ​ sont, comme leur nom l'​indique,​ globales (c'est à dire visibles et atteignables) dans l'​ensemble du jeu. Leurs valeurs sont partagées entre toutes les scènes et les objets de l'​ensemble du jeu. Elles sont utiles pour stocker des informations que nous voulons partager entre plusieurs ou toutes les scènes du jeu, par exemple la quantité de balles ou la somme d'​argent accumulée par le joueur. * __**Les variables globales**__ ​ sont, comme leur nom l'​indique,​ globales (c'est à dire visibles et atteignables) dans l'​ensemble du jeu. Leurs valeurs sont partagées entre toutes les scènes et les objets de l'​ensemble du jeu. Elles sont utiles pour stocker des informations que nous voulons partager entre plusieurs ou toutes les scènes du jeu, par exemple la quantité de balles ou la somme d'​argent accumulée par le joueur.
  
-La variable que nous allons utiliser est une variable ​`Sceneque nous appellerons `Score`. ​+La variable que nous allons utiliser est une variable ​**Scene** que nous appellerons ​`Score`.  
 + 
 +Ajoutons une action dans le dernier événement que nous avons créé. Sélectionnez l'​action **Variables > Value of a variable**. Cette action sera utilisée pour ajouter 100 à la variable ​`Score`.
  
-Ajoutons une action dans le dernier événement que nous avons créé. Sélectionnez l'​action `Variables > Value of a variable`. Cette action sera utilisée pour ajouter 100 à la variable `Score`.\\ 
 Renseignez les paramètres comme montré ci-dessous. Renseignez les paramètres comme montré ci-dessous.
  
Line 77: Line 80:
 Dans GDevelop, il n'est pas nécessaire de déclarer les variables avant de les utiliser : nous pouvons utiliser n'​importe quelle variable sans la déclarer, il suffit de lui donner un nom dans une action ou une condition. Dans le cas où nous utilisons une action sur une variable qui n'est pas déclarée, GDevelop la crée automatiquement pour nous en lui affectant la valeur par défaut `0` ou une chaîne vide `""​` puis exécute ensuite l'​action sur la variable pour nous éviter tout problème. Dans GDevelop, il n'est pas nécessaire de déclarer les variables avant de les utiliser : nous pouvons utiliser n'​importe quelle variable sans la déclarer, il suffit de lui donner un nom dans une action ou une condition. Dans le cas où nous utilisons une action sur une variable qui n'est pas déclarée, GDevelop la crée automatiquement pour nous en lui affectant la valeur par défaut `0` ou une chaîne vide `""​` puis exécute ensuite l'​action sur la variable pour nous éviter tout problème.
  
-Toutefois, pour mieux organiser notre jeu, il vaut toujours mieux déclarer les variables avant de les utiliser. Cette bonne pratique permet de se souvenir plus facilement des variables utilisées et nous permet aussi de changer leur valeur par défaut si nous voulons qu'​elle soit différente de 0 ou d'une chaine vide.\\ +Toutefois, pour mieux organiser notre jeu, il vaut toujours mieux déclarer les variables avant de les utiliser. Cette bonne pratique permet de se souvenir plus facilement des variables utilisées et nous permet aussi de changer leur valeur par défaut si nous voulons qu'​elle soit différente de 0 ou d'une chaine vide. 
-Pour déclarer une variable, cliquez sur le bouton ​`à droite du nom de la variable pour afficher la liste des variables déclarées.+ 
 +Pour déclarer une variable, cliquez sur le bouton ​**** à droite du nom de la variable pour afficher la liste des variables déclarées.
  
 {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_17.54.46.png?​nolink |}} {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_17.54.46.png?​nolink |}}
Line 86: Line 90:
 {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_17.55.27.png?​nolink |}} {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_17.55.27.png?​nolink |}}
  
-Vous pouvez cliquez sur le bouton ​`+pour ajouter une variable et entrer `Score` pour son nom. +Vous pouvez cliquez sur le bouton ​**+** pour ajouter une variable et entrer `Score` pour son nom. 
  
 {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_17.56.23.png?​nolink |}} {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_17.56.23.png?​nolink |}}
Line 98: Line 102:
 Pour le moment, la variable `Score` ne peut pas être vue, ce qui fait que nous ne pouvons pas vérifier si le score a augmenté. Pour le moment, la variable `Score` ne peut pas être vue, ce qui fait que nous ne pouvons pas vérifier si le score a augmenté.
  
-Nous avons besoin d'un objet **Text** pour afficher la valeur de la variable `Score`. Ajoutez un nouvel objet dans la liste des objets (en cliquant sur le signe **+** au bas de la liste) et sélectionnez le type `Textquand GDevelop ​ vous demande quel type d'​objet créer.+Nous avons besoin d'un objet **Text** pour afficher la valeur de la variable `Score`. Ajoutez un nouvel objet dans la liste des objets (en cliquant sur le signe **+** au bas de la liste) et sélectionnez le type **Text** quand GDevelop ​ vous demande quel type d'​objet créer.
  
 {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_17.58.27.png?​nolink |}} {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_17.58.27.png?​nolink |}}
Line 107: Line 111:
  
 Vous pouvez ensuite placer l'​objet sur la scène. Vous pouvez ensuite placer l'​objet sur la scène.
 +
 {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_18.20.23.png?​nolink |}} {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_18.20.23.png?​nolink |}}
 ### Modifier du calque du texte ### Modifier du calque du texte
  
-Si vous lancez le jeu, vous pouvez constater que le texte `Score:` est affiché avec le reste des objets et que sa position n'est pas fixe sur l'​écran.\\ +Si vous lancez le jeu, vous pouvez constater que le texte `Score:` est affiché avec le reste des objets et que sa position n'est pas fixe sur l'​écran. 
-Nous pouvons résoudre facilement ce problème en créant un nouveau calque ​ au-dessus du calque de base. Pour ce faire, ouvrez l'​éditeur de calques en cliquant ce bouton :+ 
 +Nous pouvons résoudre facilement ce problème en créant un nouveau calque au-dessus du calque de base. Pour ce faire, ouvrez l'​éditeur de calques en cliquant ce bouton :
  
 {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_18.34.33.png?​nolink |}} {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_18.34.33.png?​nolink |}}
Line 119: Line 125:
 {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_18.35.00.png?​nolink |}} {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_18.35.00.png?​nolink |}}
  
-Cliquez sur le bouton **+** pour ajouter un calque. Entrez ​"UI" ​pour son nom (UI pour User Interface ou Interface Utilisateur) :+Cliquez sur le bouton **+** pour ajouter un calque. Entrez ​`UIpour son nom (UI pour User Interface ou Interface Utilisateur) :
  
-Pour finir, déplacez l'​objet texte `Score:` sur ce nouveau calque en sélectionnant l'​objet texte sur la scène +Pour finir, déplacez l'​objet texte `Score` sur ce nouveau calque en sélectionnant l'​objet texte sur la scène 
-(ce qui ouvre son panneau des propriétés sur la gauche de l'​écran.\\ +(ce qui ouvre son panneau des propriétés sur la gauche de l'​écran. 
-Cliquez sur `Base layeret sélectionne ​`UI` dans la liste :+ 
 +Cliquez sur **Base layer** et sélectionnez ​`UI` dans la liste :
  
 {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_18.40.44.png?​nolink |}} {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_18.40.44.png?​nolink |}}
  
-Assurez-vous que l'​objet texte soit affiché de manière visible quelque part sur l'​écran,​ par exemple en le déplaçant dans le coin supérieur gauche de la scène.\\+Assurez-vous que l'​objet texte soit affiché de manière visible quelque part sur l'​écran,​ par exemple en le déplaçant dans le coin supérieur gauche de la scène. 
 Le rectangle noir de l'​éditeur de scène représente la taille de la scène (ce que l'on voit quand le jeu est lancé). Le rectangle noir de l'​éditeur de scène représente la taille de la scène (ce que l'on voit quand le jeu est lancé).
  
Line 136: Line 144:
 Maintenant que nous avons un objet texte sur l'​écran,​ il est temps de lui faire afficher la valeur de la variable `Score`. Maintenant que nous avons un objet texte sur l'​écran,​ il est temps de lui faire afficher la valeur de la variable `Score`.
  
-Ajoutez un nouvel événement (Ouvrez le panneau ​`NEWSCENE (EVENTS)et cliquez le bouton ​`Add a new empty eventdans le haut de la fenêtre.)+Ajoutez un nouvel événement (Ouvrez le panneau ​**NEWSCENE (EVENTS)** et cliquez le bouton ​**Add a new empty event** dans le haut de la fenêtre.)
  
 Cet événement n'aura aucune condition, ce qui signifie que l'​action sera exécutée à chaque image, soit environ 60 fois par seconde. Cet événement n'aura aucune condition, ce qui signifie que l'​action sera exécutée à chaque image, soit environ 60 fois par seconde.
  
-Ajoutez une action ​`Add actionet sélectionnez l'​action ​`Modify the textdans la catégorie appelée ​`Text object`.+Ajoutez une action ​**Add action** et sélectionnez l'​action ​**Modify the text** dans la catégorie appelée ​**Text object**.
  
 Pour le premier paramètre, sélectionnez l'​objet `Score` car c'est cet objet que nous voulons mettre à jour. Pour le premier paramètre, sélectionnez l'​objet `Score` car c'est cet objet que nous voulons mettre à jour.
Line 148: Line 156:
 Finalement, le dernier paramètre représente le nouveau contenu du texte. Ce contenu est une expression de type chaîne de caractères qui sera évaluée par GDevelop pendant le jeu lorsque l'​action sera exécutée. ​ Finalement, le dernier paramètre représente le nouveau contenu du texte. Ce contenu est une expression de type chaîne de caractères qui sera évaluée par GDevelop pendant le jeu lorsque l'​action sera exécutée. ​
  
-Nous pouvons spécifier un texte en le plaçant entre guillemets (comme ceci "Hello World"​). Mais nous pouvons aussi utiliser quelque chose appelée **expression**,​ qui est une fonction qui retourne une certaine valeur que nous pouvons utiliser d'une manière ou d'une autre.+Nous pouvons spécifier un texte en le plaçant entre guillemets (comme ceci `"Hello World"`). Mais nous pouvons aussi utiliser quelque chose appelée **//expression//**, qui est une fonction qui retourne une certaine valeur que nous pouvons utiliser d'une manière ou d'une autre.
  
 Dans notre cas, nous avons besoin de la valeur de la variable `Score` que nous voulons utiliser pour mettre à jour l'​objet texte. Dans notre cas, nous avons besoin de la valeur de la variable `Score` que nous voulons utiliser pour mettre à jour l'​objet texte.
Line 158: Line 166:
 Ce qui fait que l'​expression finale dont nous avons besoin est `ToString(Variable(Score))`. Ce qui fait que l'​expression finale dont nous avons besoin est `ToString(Variable(Score))`.
  
-Finalement, nous pouvons ajouter cette pression à la suite d'un texte statique en utilisant l'​opérateur ​`+pour obtenir :+Finalement, nous pouvons ajouter cette pression à la suite d'un texte statique en utilisant l'​opérateur ​**+** pour obtenir :
  
 `"​Score : " + ToString(Variable(Score))` `"​Score : " + ToString(Variable(Score))`
Line 173: Line 181:
  
 {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_19.00.24.png?​nolink |}} {{ :​gdevelop5:​tutorials:​platform-game:​screen_shot_2017-09-30_at_19.00.24.png?​nolink |}}
 +
 ## Bonus : corriger le bug de score ## Bonus : corriger le bug de score
  
-Vous avez peut-être remarqué que si vous collectez deux pièces en même temps, le score ne compte qu'​une ​seule fois. Par exemple, si chaque pièce vaut 100 points et que vous collectez 2 pièces, le score n'​augmentera que de 100 au lieu de 200. La correction est facile ; il suffit d'​utiliser une fonction que nous n'​avons pas encore rencontrée : un événement appelé ​`For each object`. Cette fonction nous permet de dire au moteur du jeu qu'il doit ajouter 100 au score pour chaque pièce ramassée.+Vous avez peut-être remarqué que si vous collectez deux pièces en même temps, le score n'​augmente que d'​une ​unité. Par exemple, si chaque pièce vaut 100 points et que vous collectez 2 pièces, le score n'​augmentera que de 100 au lieu de 200. La correction est facile ; il suffit d'​utiliser une fonction que nous n'​avons pas encore rencontrée : un événement appelé ​**For each object**. Cette fonction nous permet de dire au moteur du jeu qu'il doit ajouter 100 au score pour chaque pièce ramassée.
  
 Pour commencer, cliquez sur la bouton **+** dans le barre des outils. Pour commencer, cliquez sur la bouton **+** dans le barre des outils.
Line 181: Line 190:
 {{ :​gdevelop5:​tutorials:​platform-game:​gdevelop_5_2018-05-30_11-30-39.png?​200 |}} {{ :​gdevelop5:​tutorials:​platform-game:​gdevelop_5_2018-05-30_11-30-39.png?​200 |}}
  
-Sélectionnez ​''​For each object'' ​dans le menu+Sélectionnez ​**For each object** dans le menu :
  
 {{ :​gdevelop5:​tutorials:​platform-game:​2018-05-30_11-33-09.png?​400 |}} {{ :​gdevelop5:​tutorials:​platform-game:​2018-05-30_11-33-09.png?​400 |}}