Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
fr:gdevelop5:tutorials:tank-shooter [2020/02/15 06:37]
christophe_kassabji [Stop! Save time!] Traduit en français
fr:gdevelop5:tutorials:tank-shooter [2020/02/20 07:15] (current)
christophe_kassabji [Optimizing the game]
Line 216: Line 216:
 {{ :​gdevelop5:​tutorials:​save-project.png?​nolink |}} {{ :​gdevelop5:​tutorials:​save-project.png?​nolink |}}
  
-==== Enemy AI ==== +===== IA ennemie ​==== 
-Let's go back to the gameWe want the enemies moving toward the turretGo to the event editor and add a new eventWhat we want to do is creating an enemy every secondLet add a condition Timers and time > Value of a timer. ​Enter in the first parameter and “EnemyCreation” for the name of the timer.  +Revenons au jeuNous voulons que les ennemis se dirigent vers la tourelle ​Allez dans l'​éditeur d'​événements et ajoutez un nouvel événementCe que nous voulons, c'est créer un ennemi à chaque seconde ​ajoutons une condition Timers and time > Value of a timer. ​Entrez ​dans le premier paramètre et "EnemyCreation" pour le nom du timer.  
-Don't forget the quotes when you enter the name of the timer.+N'oubliez pas les guillemets lorsque vous entrez le nom du timer.
  
-Next let add the action ​to create an enemy objectAdd an action Common action for all objects > Objects > Create an object. ​Select ​enemy in the first parameterFor the second parameterthe X position ​of the new object to be createdenter the expression Random(800): ​This will return a random number between ​and 800, so that each enemy we create will have a different ​position ​when they are createdFor the positionenter -50. This will create the enemy outside the screenso that the player won't have the feeling that an enemy tank just appeared from nowhere.+Ajoutons ensuite l'action ​de créer un objet ennemi ​Ajouter une action Common action for all objects > Objects > Create an object. ​Sélectionnez ​enemy dans le premier paramètrePour le deuxième paramètrela position ​X du nouvel objet à créerentrez l'expression Random(800) : ceci renverra un nombre aléatoire entre et 800, de sorte que chaque ennemi que nous créerons aura une position ​différente lors de sa créationPour la position ​Y, entrez ​-50. Cela créera l'​ennemi en dehors de l'​écrande sorte que le joueur n'aura pas l'​impression qu'un char ennemi vient d'​apparaître de nulle part.
    
-Finallylet add the action ​to reset the timer ( Timers and time > Reset a timer with “EnemyCreation” as parameter ). Againdon't forget the quotes when you enter the name of the timer. +Enfinajoutons l'action ​pour réinitialiser le minuteur ​( Timers and time > Reset a timer avec "EnemyCreation" comme parameter ). Encore une foisn'oubliez pas les guillemets lorsque vous entrez le nom du timer. 
-At this pointour event should look like this:+À ce stadenotre événement devrait ressembler à ceci :
 {{ :​gdevelop5:​tutorials:​create-enemy-event.png?​nolink |}} {{ :​gdevelop5:​tutorials:​create-enemy-event.png?​nolink |}}
  
-If we run a preview nowprobably we won't notice anything as the enemy is created outside the screen+Si nous lançons un aperçu maintenantnous ne remarquerons probablement rien car l'ennemi est créé en dehors de l'​écran
-Let move the enemies toward the player+Déplaçons les ennemis vers le joueur
-Add another event without any condition ​and choose the action Common action for all objects > Movement > Add a force to move toward ​an object.+Ajoutez un autre événement sans aucune ​condition ​et choisissez l'action Common action for all objects > Movement > Add a force to move towards ​an object.
 {{ :​gdevelop5:​tutorials:​move-object-toward-other-event.png?​nolink |}} {{ :​gdevelop5:​tutorials:​move-object-toward-other-event.png?​nolink |}}
-On the right sidefor the first parameterselect ​enemy, ​and select ​turret ​for the second ​parameterEnter 150 pixels ​per second for speedand damping ​is 0, as the force will be continuously applied.+Sur le côté droitpour le premier paramètresélectionnez ​enemy, ​et sélectionnez ​turret ​pour le second ​paramètreEntrez ​150 pixels ​par seconde pour la vitesseet l'​amortissement (damping) est de 0, car la force sera appliquée en continu.
 {{ :​gdevelop5:​tutorials:​move-object-toward-another-parameters.png?​nolink |}}  {{ :​gdevelop5:​tutorials:​move-object-toward-another-parameters.png?​nolink |}} 
  
-Now if we run a preview we should see that our enemies are moving toward the turretbut you may notice that they don't actually rotate toward the turret so let do something about that+Maintenantsi nous lançons un aperçu, nous devrions voir que nos ennemis se déplacent vers la tourelle, mais vous remarquerez peut-être qu'ils ne se tournent pas réellement vers la tourelle, alors faisons quelque chose à ce sujet
-Let add a second ​action ​after the movement which is the Common action for all objects > Angle > Rotate toward position ​and for the first parameter on the right select enemy as we are rotating the enemy and for the and position we are going to use an expression ​to get the Centre ​point of the turret and make the enemies rotate toward that point and the angular speed is so it is going to rotate immediately.+Ajoutons une deuxième ​action ​après le mouvement, qui est Common action for all objects > Angle > Rotate toward position ​et pour le premier paramètre sur la droite, sélectionnons l'​ennemi pendant que nous faisons tourner l'​ennemi et pour les positions ​et Y, nous allons utiliser une expression ​pour obtenir le point central de la tourelle et faire tourner les ennemis vers ce point et la vitesse angulaire est de 0, donc elle va tourner immédiatement.
 {{ :​gdevelop5:​tutorials:​rotate-object-toward-position.png?​nolink |}} {{ :​gdevelop5:​tutorials:​rotate-object-toward-position.png?​nolink |}}
-At this point our enemy event should look like this:+À ce stade, notre événement ennemi devrait ressembler à ceci :
 {{ :​gdevelop5:​tutorials:​create-rotate-move-enemies-event.png?​nolink |}} {{ :​gdevelop5:​tutorials:​create-rotate-move-enemies-event.png?​nolink |}}
  
-If we run the preview nowour enemies should move and rotate toward the turret.+Si nous lançons l'​aperçu maintenantnos ennemis devraient se déplacer et tourner vers la tourelle.
 {{ :​gdevelop5:​tutorials:​turret-screenshot-enemies-moving.png?​nolink |}} {{ :​gdevelop5:​tutorials:​turret-screenshot-enemies-moving.png?​nolink |}}
  
-==== Adding ​explosions ==== +==== Ajout d'explosions ==== 
-It time to destroy the tanks. ​The first thing we want to do is create an explosion ​in position of the tanks when they are collided with the bullet.  +Il est temps de détruire les tanks. ​La première chose que nous voulons faire est de créer une explosion ​à la place des tanks lorsqu'​ils entrent en collision avec la balle.  
-So let add a new sprite ​objectname it explosion ​and add all the images ​to an animation ​beginning with Explosion_+Ajoutons donc un nouvel objet sprite, ​appelons-le ​explosion ​et ajoutons toutes les images ​à une animation ​commençant par Explosion_.
 {{ :​gdevelop5:​tutorials:​select-all-explosion-images.png?​nolink |}} {{ :​gdevelop5:​tutorials:​select-all-explosion-images.png?​nolink |}}
  
-After all the images ​are added to the animation, ​set the time between the images ​to 0.01 seconds.+Après avoir ajouté toutes les images ​à l'animation, ​réglez le temps entre les images ​à 0,01 seconde.
 {{ :​gdevelop5:​tutorials:​explosion-animation-speed.png?​nolink |}} {{ :​gdevelop5:​tutorials:​explosion-animation-speed.png?​nolink |}}
  
-Save it by clicking ​Apply. ​+Enregistrez-le en cliquant sur Apply. ​
  
-Nextwe want to create the explosion ​when the bullet is in collision ​with the enemy+Ensuitenous voulons créer l'explosion ​lorsque la balle est en collision ​avec l'​ennemi
-Let add a new blank event and add the condition Common conditions for all objects > Collision > Collision+Ajoutons un nouvel événement vide et ajoutons la condition Common conditions for all objects > Collision > Collision
 {{ :​gdevelop5:​tutorials:​collision-check-event.png?​nolink |}} {{ :​gdevelop5:​tutorials:​collision-check-event.png?​nolink |}}
-And on the right side for the first parameter select bullet and the second ​parameter select ​enemy+Et sur la droite pour le premier paramètre sélectionner la balle et le second ​paramètre sélectionner ​enemy
 {{ :​gdevelop5:​tutorials:​collision-between-object-condition-parameters.png?​nolink |}} {{ :​gdevelop5:​tutorials:​collision-between-object-condition-parameters.png?​nolink |}}
  
-When it donelet add an action ​to create the explosion ​object just the way we have created the bullets and the enemies before but for and position let use the expression enemy.X() ​and enemy.Y() ​which is going to get the and position of the enemy object that is in collision ​with the bullet.+Lorsque c'est faitajoutons une action ​pour créer l'​objet d'explosion ​comme nous avons créé les balles et les ennemis auparavant, mais pour la position ​et Y, utilisons l'expression enemy.X() ​et enemy.Y() ​qui va obtenir la position ​et de l'​objet ennemi qui est en collision ​avec la balle.
 {{ :​gdevelop5:​tutorials:​create-explosion-event-parameters.png?​nolink |}} {{ :​gdevelop5:​tutorials:​create-explosion-event-parameters.png?​nolink |}}
  
-Finallyadd the action ​after creating the explosion Common actions for all objects > Object > Delete an object ​and on the right side for parameter select the object enemy as we want to delete the enemy. +Enfinajoutez l'action ​après avoir créé l'explosion Common actions for all objects > Object > Delete an object ​et dans la partie droite pour le paramètre sélectionner l'​objet ​enemy puisque ​ nous voulons supprimer l'​ennemi
-Add the same action ​againto also delete the bullet right after the enemy is deleted+Ajoutez à nouveau la même action, ​pour supprimer également la balle juste après la suppression de l'​ennemi
-At this point our event should look like this+À ce stade, notre événement devrait ressembler à ceci
 {{ :​gdevelop5:​tutorials:​enemy-moving-rotating-exploding.png?​nolink |}} {{ :​gdevelop5:​tutorials:​enemy-moving-rotating-exploding.png?​nolink |}}
  
-If we run a preview nowwe should notice a few problemsOur explosion objects are not created exactly in the position ​of the enemy and once it created the explosion object remain in the scene.  +Si nous lançons un aperçu maintenantnous devrions remarquer quelques problèmesNos objets explosifs ne sont pas créés exactement dans la position ​de l'​ennemi et une fois qu'il a créé l'​objet explosif, il reste dans la scène.  
-To solve the second ​problemlet delete the explosion ​object after the animations is finished+Pour résoudre le second ​problèmeil faut supprimer l'​objet d'explosion ​une fois l'​animation terminée
-Add a new empty event and the condition Sprite > Animations and Images > Animation finished+Ajoutez un nouvel événement vide et la condition Sprite > Animations and Images > Animation finished
 {{ :​gdevelop5:​tutorials:​animation-finished-event.png?​nolink |}} {{ :​gdevelop5:​tutorials:​animation-finished-event.png?​nolink |}}
-For the parameter on the right select the explosion ​object as we want to do something if the animation ​of the explosion ​object is finished.+Pour le paramètre de droite, sélectionnez l'​objet ​explosion ​car nous voulons faire quelque chose si l'animation ​de l'​objet d'explosion ​est terminée.
 {{ :​gdevelop5:​tutorials:​check-animation-finished-event-parameter.png?​nolink |}} {{ :​gdevelop5:​tutorials:​check-animation-finished-event-parameter.png?​nolink |}}
-And what we want to do is delete the explosion ​object so next let add the action, ​delete the explosion ​object.+Et ce que nous voulons faire, c'est supprimer l'​objet ​explosion, alors ajoutons ensuite l'action, ​supprimons l'​objet ​explosion.
  
-To solve the first problem we need to understand what is the cause of the problem+Pour résoudre le premier problème, nous devons comprendre quelle est sa cause. 
-When we create the explosion ​object by using the expression ​enemy.X() ​and enemy.Y() ​we are creating the objects at the origin ​point of the enemy object which is the top left corner of the enemy and we also creating the explosions ​ from their origin ​point which is the top left corner of the explosion ​object.+Lorsque nous créons l'​objet ​explosion ​en utilisant les expressions ​enemy.X() ​et enemy.Y(), nous créons les objets au point d'​origine de l'​objet ennemi, qui est le coin supérieur gauche de l'​ennemi,​ et nous créons également les explosions ​à partir de leur point d'​origine,​ qui est le coin supérieur gauche de l'​objet ​explosion.
  
-To solve the problemwhat we need to do is, change the position ​of the Origin ​point of the explosion ​to be in the middle of the object+Pour résoudre le problèmenous devons changer la position ​du point d'​origine de l'explosion ​pour qu'il se trouve au milieu de l'​objet
-Let edit the explosion ​object by right clicking the explosion ​object and select Edit object from the listIn the next windowselect ​EDIT POINTS.  +Pour modifier l'​objet ​explosion, il suffit de cliquer avec le bouton droit de la souris sur l'​objet de l'explosion ​et de sélectionner "​Modifier l'​objet"​ dans la listeDans la fenêtre suivantesélectionnez ​EDIT POINTS.  
-Next we want to change the and position of the Origin ​point to  ​120 which is right in the middle of the image+Ensuite, nous voulons changer la position ​et du point d'​origine à 120 qui est juste au milieu de l'image
 {{ :​gdevelop5:​tutorials:​change-origin-point-position.png?​nolink |}} {{ :​gdevelop5:​tutorials:​change-origin-point-position.png?​nolink |}}
  
-Nextwhat we want to doinstead of creating the explosion ​object at the Origin ​point of the enemywe want to create the object at the Centre ​point. ​So let change the expression ​in the create ​explosion ​action from enemy.X() ​to enemy.PointX(Centre) ​and form enemy.Y() ​to enemy.PointY(Centre)+Ensuitece que nous voulons faireau lieu de créer l'​objet ​explosion ​au point d'​origine de l'​enneminous voulons créer l'​objet au point centralChangeons donc l'expression ​dans l'​action de création d'explosion ​de enemy.X() ​en enemy.PointX(Centre) ​et formons ​enemy.Y() ​en enemy.PointY(Centre)
 {{ :​gdevelop5:​tutorials:​create-explosion-new-expression.png?​nolink |}} {{ :​gdevelop5:​tutorials:​create-explosion-new-expression.png?​nolink |}}
  
-If we run a preview nowour enemies should explode and it should also look right.+Si nous lançons un aperçu maintenantnos ennemis devraient exploser et cela devrait également paraître correct.
 {{ :​gdevelop5:​tutorials:​turret-screenshot-enemies-are-exploding.png?​nolink |}} {{ :​gdevelop5:​tutorials:​turret-screenshot-enemies-are-exploding.png?​nolink |}}
- +==== Ajout de nouvelles ​explosions ​et d'​un ​Game Over ==== 
-==== Adding more explosions ​and a Game Over ==== +Jusqu'​à présentle joueur ne pouvait pas mourirNous voulons que la tourelle du joueur soit détruite lorsqu'un char ennemi la frappe
-Until nowthe player could not dieWe want the player's turret to be destroyed when an enemy tank is hitting it+D'​abordajoutez un nouvel événementet faites comme pour l'​événement utilisé pour détruire les ennemis ​ajoutez un test de condition ​pour une collision ​entre un char et la tourelleEnsuite, créez une explosion ​à la position ​de la tourelleEnfinajoutez une action ​pour détruire la tourelle ​:
-Firstadd a new eventand do as we did for the event used to destroy the enemiesAdd a condition ​testing for a collision ​between a tank and the turretThen create an explosion ​at the turret ​position. ​Finallyadd an action ​to destroy the turret:+
 {{ :​gdevelop5:​tutorials:​delete-turret-on-collision-event.png?​nolink |}}  {{ :​gdevelop5:​tutorials:​delete-turret-on-collision-event.png?​nolink |}} 
  
-It would be also interesting to display a “Game Over” text when the turret is destroyedAdd an object to the object listThis timechoose a Text object and name it GameOver.+Il serait également intéressant d'​afficher un texte "Game Over" lorsque la tourelle est détruite ​Ajouter un objet à la liste des objetsCette foischoisissez un objet Text et nommez-le ​GameOver.
 {{ :​gdevelop5:​tutorials:​select-text-object-from-list.png?​nolink |}} {{ :​gdevelop5:​tutorials:​select-text-object-from-list.png?​nolink |}}
  
-Edit the object ​by right clicking on the object and and select Edit object from the list.  +Modifiez l'​objet en cliquant avec le bouton droit de la souris sur l'​objet et sélectionnez ​Edit object ​dans la liste.  
-Let change the text to Game Over, the text color to red and the text size to 40. +Changeons le texte en Game Over, la couleur du texte en rouge et la taille du texte en 40. 
 {{ :​gdevelop5:​tutorials:​edit-text-object.png?​nolink |}} {{ :​gdevelop5:​tutorials:​edit-text-object.png?​nolink |}}
-Nextwe can set a custom font by simply entering the path of the fontBecause in this case our font is located in the project folder we only need to enter the name of the font file:+Ensuitenous pouvons définir une police personnalisée en entrant simplement le chemin de la policeComme dans ce cas notre police se trouve dans le dossier du projet, il nous suffit d'​entrer le nom du fichier de police ​:
 {{ :​gdevelop5:​tutorials:​custom-text-font.png?​nolink |}} {{ :​gdevelop5:​tutorials:​custom-text-font.png?​nolink |}}
  
-Finallylet add the text object to our scene.+Enfinajoutons l'​objet texte à notre scène.
  
-What we want to do nextis hide the text object and display it if there is no turret in the scene meaning the turret is destroyed+Ce que nous voulons faire ensuitec'est cacher l'​objet texte et l'​afficher s'il n'y a pas de tourelle dans la scène, ce qui signifie que la tourelle est détruite
-Let add a new blank event and add the condition Scene > At the beginning of the scene +Ajoutons un nouvel événement vide et ajoutons la condition Scene > At the beginning of the scene 
-{{ :​gdevelop5:​tutorials:​at-the-beginning-of-the-scene-condition.png?​nolink |}}+{{ :​gdevelop5:​tutorials:​at-the-binning-of-the-scene-condition.png?​nolink |}}
  
-This condition ​has no parameters because the only thing it does is execute the action ​only once at the beginning of the scene+Cette condition ​n'a pas de paramètres car la seule chose qu'​elle fait est d'​exécuter l'action ​une seule fois au début de la scène
-Nextadd the action ​to the same event Common Actions for all objects > Visibility > Hide+Ensuiteajoutez l'action ​au même événement ​Common Actions for all objects > Visibility > Hide
 {{ :​gdevelop5:​tutorials:​hide-object-event.png?​nolink |}} {{ :​gdevelop5:​tutorials:​hide-object-event.png?​nolink |}}
-For parameter select the GameOver ​object as we want to hide this object+Pour le paramètre, sélectionnez l'​objet ​GameOver ​car nous voulons cacher cet objet
 {{ :​gdevelop5:​tutorials:​hide-object-event-parameter.png?​nolink |}} {{ :​gdevelop5:​tutorials:​hide-object-event-parameter.png?​nolink |}}
  
-Now what we want to do is show the text object if there is no turret in the scene +Maintenant, ce que nous voulons faire, c'est montrer l'​objet texte s'il n'​y ​pas de tourelle dans la scène 
-Add new empty event and add the condition Common conditions for all objects > Objects > Objects count+Ajouter un nouvel événement vide et ajouter la condition Common conditions for all objects > Objects > Objects count
 {{ :​gdevelop5:​tutorials:​objects-count-condition.png?​nolink |}} {{ :​gdevelop5:​tutorials:​objects-count-condition.png?​nolink |}}
  
-For the first parameter on the right side select the turret objectfor sign of test select the equal sign and for value of test enter as we want to test if the number of turret in the scene is 0.+Pour le premier paramètre sur le côté droitsélectionnez l'​objet tourelle, pour le signe du test, sélectionnez le signe égal et pour la valeur du test, entrez ​car nous voulons tester si le nombre de tourelles dans la scène est 0.
 {{ :​gdevelop5:​tutorials:​object-count-condition-parameters.png?​nolink |}} {{ :​gdevelop5:​tutorials:​object-count-condition-parameters.png?​nolink |}}
  
-And what we want to do is show the text GameOver ​if there is no turret in the sceneso add the action Common action for all objects > Visibility > Show and for parameter we want to select the GameOver ​object.+Et ce que nous voulons faire, c'est afficher le texte GameOver ​s'il n'y a pas de tourelle dans la scènedonc ajouter l'action Common action for all objects > Visibility > Show et pour paramètre nous voulons sélectionner l'​objet ​GameOver.
 {{ :​gdevelop5:​tutorials:​destroy-turret-event.png?​nolink |}} {{ :​gdevelop5:​tutorials:​destroy-turret-event.png?​nolink |}}
  
-Finallyan interesting effect is to stop the game and display ​Game Over with a little delay.  +Enfinun effet intéressant est d'​arrêter le jeu et d'​afficher ​Game Over avec un peu de retard.  
-Add a second ​condition ​Timers ​and time > Value of a timer for time parameter enter 0.1 and for name parameter enter "​GameOver"​. ​Thenadd a second ​action: Timers and time > Change time scale and enter as parameter to stop the game and display the Game Over text after 0.seconds+Ajoutez une deuxième ​condition ​imers and time > Value of a timer pour le paramètre de temps entrez ​0.1 et pour le paramètre de nom entrez ​"​GameOver"​. ​Ensuiteajoutez une deuxième ​action : Timers and time > Change time scale  et entrer ​comme paramètre pour arrêter le jeu et afficher le texte Game Over après ​0,seconde
  
-This is what all the events should look like at this point.+Voici à quoi devraient ressembler tous les événements à ce stade.
 {{ :​gdevelop5:​tutorials:​all-events.png?​nolink |}} {{ :​gdevelop5:​tutorials:​all-events.png?​nolink |}}
-You can preview the game and should see that once the turret is destroyedwith a little delay the Game Over text is displayed and the game is stopped.+Vous pouvez prévisualiser le jeu et vous devriez voir qu'une fois la tourelle détruiteavec un peu de retard, le texte Game Over s'​affiche et le jeu est arrêté.
 {{ :​gdevelop5:​tutorials:​gameover-screenshot.png |}} {{ :​gdevelop5:​tutorials:​gameover-screenshot.png |}}
 +===== Optimiser le jeu ====
  
-==== Optimizing the game ====+Lorsqu'​une balle sort de l'​écran,​ nous n'​avons plus besoin de cette balle mais nous lui appliquons toujours un mouvement et nous vérifions la collision entre la balle et le char. Chaque ordinateur dispose de ressources limitées, telles que la mémoire et la puissance de traitement, et nous gaspillons ces précieuses ressources dont nous avons besoin pour faire face, sinon notre jeu peut ralentir, s'​arrêter et devenir injouable lorsqu'​il atteint la limite de l'​appareil sur lequel nous jouons. 
 +Vous voulez que votre jeu soit jouable sur le plus grand nombre d'​appareils possible, vous devez donc toujours optimiser votre jeu et une façon de le faire est de supprimer les objets qui ne sont plus nécessaires dans notre jeu et de limiter ainsi la quantité de mémoire et la puissance de traitement utilisée par le jeu.
  
-When a bullet get outside the screenwe no longer need that bullet but we still apply movement to it and we are checking collision between the bullet and the tankEvery device has limited resources such as memory and processing power and we are wasting this valuable resources that we need to address otherwise our game may slow down, crash and become unplayable when it rich the limit of the device we are playing our game on. +Nous pourrions ajouter un événement pour détruire les balles lorsqu'​elles sont trop éloignées de la tourellec'est assez facileMais nous pouvons aussi utiliser un comportementUn comportement dans GDevelop est l'​ajout d'un certain comportement et d'une certaine fonctionnalité à un objet, dans ce cas nous allons ajouter le comportement "​Détruire en dehors de l'​écran"​ aux balles pour qu'​elles soient détruites en dehors de l'​écran.
-You want your game to be playable on as many devices as possible so you always need to optimize your game and one way to do that is to delete objects that no longer required in our game and this way limit the amount of memory and processing power used by the game.+
  
-We could add an event to destroy the bullets when they are too far from the turretthat is quite easyBut we can also use a behaviorA behavior in GDevelop is adds a certain behavior and feature to an object, in this case we are going to add the Destroy outside screen behavior to the bullets so they get destroyed outside the screen.+Faites un clic droit sur l'​objet dans la liste d'​objets et choisissez Modifier l'​objet dans la liste.  
 +Dans la fenêtre suivante en hautcliquez sur l'​onglet Behaviours, cet onglet va afficher tous les comportements que nous avons ajoutés à notre objetIl est maintenant vide. 
 +{{ :​gdevelop5:​behaviours-tab.png?nolink |}}
  
-Make a right click on the object in the object list and choose Edit object from the list.  +Cliquez sur le bouton " Add behavior ​" (ajouter un comportement)
-In the next window on the top, click the Behaviors tab, this tab going to display all the behaviors we have added to our object. It is empty now. +
-{{ :​gdevelop5:​behaviors-tab.png?​nolink |}} +
- +
-Click on the add behavior ​button+
 {{ :​gdevelop5:​add-behavior-button.png?​nolink |}} {{ :​gdevelop5:​add-behavior-button.png?​nolink |}}
  
-Next select from the list the Destroy outside screen ​behavior+Ensuite, sélectionnez dans la liste le comportement ​Destroy outside screen
 {{ :​gdevelop5:​behaviors:​destroy-outside-screen-behavior-inlist.png?​nolink |}} {{ :​gdevelop5:​behaviors:​destroy-outside-screen-behavior-inlist.png?​nolink |}}
  
-Next you are going to see the behavior is added to the list. Normally if the behavior has any parameters it is also display here so you can change itbut this behavior has no parameters as the only think it does is destroy the object when it outside the screenClick Apply and we are done. +Ensuitevous allez voir que le comportement est ajouté à la listeNormalementsi le comportement a des paramètres,​ il est également affiché ici pour que vous puissiez le modifier, mais ce comportement n'​a ​pas de paramètres car la seule chose qu'il fait est de détruire l'​objet lorsqu'​il est en dehors de l'​écranCliquez sur Appliquer et nous avons terminé.
- +
-If you run the preview nowprobably you won't notice any difference as the game is very simple and you most likely using device with at least 2GB of RAM and a dual core CPUSo there is plenty of resources for our simple game but in case we would create hundreds and thousands of bullets that you are free to try you may notice a little slow down after a while without destroying them.+
  
 +Si vous lancez l'​aperçu maintenant, vous ne remarquerez probablement aucune différence car le jeu est très simple et vous utilisez très probablement un appareil avec au moins 2 Go de RAM et un processeur double cœur. Il y a donc beaucoup de ressources pour notre jeu simple, mais au cas où nous créerions des centaines et des milliers de balles que vous êtes libre d'​essayer,​ vous remarquerez peut-être un petit ralentissement au bout d'un moment sans les détruire.
 ==== Add a background ==== ==== Add a background ====
  One last thing to make the game good looking is to add a background.  One last thing to make the game good looking is to add a background.