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:basic-game-making-concepts [2019/02/28 23:03]
magicvince actulisation du lien vers les tutoriels en VF
fr:gdevelop5:tutorials:basic-game-making-concepts [2020/02/17 06:43] (current)
christophe_kassabji [Concepts de base pour créer un jeu: ce dont vous avez besoin pour démarrer avec GDevelop]
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)//​ +# Concepts de base pour créer un jeu : ce dont vous avez besoin pour démarrer avec GDevelop
- +
-# Concepts de base pour créer un jeu: Ce dont vous avez besoin pour démarrer avec GDevelop+
  
 Les concepts de base de GDevelop sont simples. Lisez les informations suivante pour commencer sereinement avec cette application. Si vous n'avez pas encore GDevelop, [[https://​gdevelop-app.com/​download|Téléchargez le depuis le site]]! Les concepts de base de GDevelop sont simples. Lisez les informations suivante pour commencer sereinement avec cette application. Si vous n'avez pas encore GDevelop, [[https://​gdevelop-app.com/​download|Téléchargez le depuis le site]]!
Line 25: Line 23:
  
   * Une action sans condition s’appliquera à tous les objets. ​   * Une action sans condition s’appliquera à tous les objets. ​
-  * Si vous utilisez un objet pour la première fois dans un événement,​ GDevelop testera et modifiera **tous les objets** qui porte le même nom dans la scène.+  * Si vous utilisez un objet pour la première fois dans un événement,​ GDevelop testera et modifiera **tous les objets** qui portent ​le même nom dans la scène.
   * Si vous ré-utilisez cet objet dans le même événement,​ GDevelop ne testera et ne modifiera que les objets qui ont été affectés par la condition initiale.   * Si vous ré-utilisez cet objet dans le même événement,​ GDevelop ne testera et ne modifiera que les objets qui ont été affectés par la condition initiale.
  
Line 90: Line 88:
  
 <​note>​Lisez le chapître des [[gdevelop5:​all-features:​variables|Variables]]. Les variables sont très utilisées et de nombreux exemples et tutoriaux illustreront une partie des infinies possibilités qu’elles offrent..</​note>​ <​note>​Lisez le chapître des [[gdevelop5:​all-features:​variables|Variables]]. Les variables sont très utilisées et de nombreux exemples et tutoriaux illustreront une partie des infinies possibilités qu’elles offrent..</​note>​
 +## Une notion avancée : le "temps écoulé"​ depuis la dernière image (TimeDelta)
  
-## Temps écoulé depuis ​la dernière vue (TimeDelta)+Le jeu évalue les événements et repeint l'​écran plusieurs fois par seconde : on dit que le jeu est // rafraîchi//,​ // mis à jour// lors d'un "​tick"​. La fréquence de ce phénomène dépend des ressources de votre ordinateur : un ordinateur lent peut rendre 25 images par seconde, un ordinateur rapide 60. GDevelop peut généralement s'​assurer que cette valeur est la même sur tous les ordinateurs. Cependant, la vitesse de certaines opérations peut changer d'un ordinateur à l'​autre,​ par exemple, les opérations mathématiques et le rendu des mouvements.
  
-Le moteur de jeu évalue les événements et "​repeint" ​l’écran plusieurs fois par seconde: nous disons que le jeu se //rafraichît//,//​s’actualise//​ pendant un tic(-tac). La fréquence de ce rafraîchissement varie en fonction des ressources de l’ordinateur. Certains ordinateurs peu puissants auront une fréquence de 25 vue par seconde pendant que de plus rapide en effectueront 60.  +Pour rendre la vitesse des changements constante, utilisez ​l'​expression ​//`TimeDelta()`//, qui retourne le temps en secondes depuis la dernière image.
-GDevelop peut généralement stabiliser cette valeur d’affichage,​ bien que certaines opérations soient effectuées plus rapidement sur certains ordinateurs,​ par exemple des calculs mathématiques ou des rendus de mouvement.+
  
-Pour standardiser la vitesse, on peut utiliser l’expression TimeDelta() qui permet de retourner une valeur en seconde du temps écoulé depuis la dernière vue. +Par exemplene faites pas :
- +
-To make the speed of changes constant, use the TimeDelta() expression, which returns the time in seconds since the last frame. +
-Par exemple ne faites pas:+
  
 {{ :​gdevelop5:​tutorials:​update-life-no-timedelta.png?​nolink |}} {{ :​gdevelop5:​tutorials:​update-life-no-timedelta.png?​nolink |}}
  
-Mais plutôt:+Mais plutôt :
  
 {{ :​gdevelop5:​tutorials:​update-life-timedelta.png?​nolink |}} {{ :​gdevelop5:​tutorials:​update-life-timedelta.png?​nolink |}}
  
-* Le premier événement ​ajoute ​20 à la variable chaque fois que le jeu est rafraichît ​(soit au maximum ​60 fois par seconde). ​Ce nest ** pas sympa** dutiliser ​une vitesse ​de répétition ​d’action qui n’aura ​pas la même réactivité ​dun ordinateur à lautre: ​we cannot predict the value of the variable ​after 10 seconds for example ​as it depends on the number of frame of the game painted.+* Le premier événement ​consiste à ajouter ​20 à la variable ​à chaque fois que le jeu est rafraîchi ​(c'​est-à-dire autant que possible, jusqu'​à ​60 fois par seconde). ​Il n'est **pas correct** d'utiliser ​un tel événement car la vitesse d'​augmentation de la variable ne sera pas la même d'un ordinateur à l'autre : nous ne pouvons pas prédire la valeur de la variable ​après ​10 secondes par exemple ​car elle dépend du nombre d'​images du jeu peintes. 
 + 
 +* Le deuxième événement est **correct et fiable** : le nombre 300 est multiplié par TimeDelta(). Ainsi, la variable sera augmentée en même temps sur tous les ordinateurs. Comme TimeDelta() renvoie un temps en seconde, il vous permet de quantifier exactement l'​accroissement : dans notre cas, la variable augmentera à 300 unités/​seconde. Ainsi, nous pouvons prédire que les points de vie augmenteront de 3000 unités en 10 secondes - indépendament du nombre de rafraîchissements effectués durant cette période.
  
-* Le second ​événement est plus **loyal ​et fiable** : Le nombre 300 est multiplié par le TimeDelta(). Ainsi la variable augmentera en même temps sur tous les ordinateurs. Comme le TimeDelata() renvoie le temps en seconde, ceci vous autorise ​à quantifier exactement ​la quantité ou la nombre voulu: dans notre cas, la quantité augmente de 300 unités par secondeAinsi on peut prédire qu’au bout de 10 secondes il y aura 3000 unités.indépendament du nombre de rafraîchissements+<note tip>​Comme GDevelop exécute votre jeu à un maximum de 60 images par seconde, vous ne remarquerez généralement pas de problème si vous utilisez le premier ​événement. C'est toujours une bonne idée de garder un oeil sur cela et d'​utiliser la version avec `TimeDelta()à la place</​note>​
  
-Rappelez-vous d’utiliser le TimeDelta lorsque vous voulez augmenter ​continuellement une valeur. Si votre action ​ne doit se produire qu’une seule fois (lors dune collision ​par exemple), ce n’est pas utile d’utiliser ​le TimeDelta().+**Règle de base : ** Utilisez //TimeDelta() // lorsque vous souhaitez ajouter ​continuellement ​un certain montant à une valeur. Si votre action ​est censée être lancée ​une seule fois (par exemple, ​lors d'une collision ​où vous effacez ensuite l'​objet), vous pouvez ​utiliser ​une valeur discrète sans TimeDelta ​- car elle ne dépend pas de la vitesse du jeu.
  
-<note warning>​Lorsque vous déplacer ​un objet avec les forces, il nest pas utile dutiliser ​le TimeDelta() car GDevelop lutilise ​déjà ​automatiquement.</​note>​+<note warning>​Lorsque vous déplacez ​un objet en utilisant des forces, il n'est pas nécessaire ​d'utiliser TimeDelta() car GDevelop l'utilise automatiquement.</​note>​
  
 ## Et… c’est l’essentiel de ce que vous devez savoir (ou presque) ## Et… c’est l’essentiel de ce que vous devez savoir (ou presque)