|
@@ -106,7 +106,7 @@ associé est visible dans l'éditeur.
|
|
|
|
|
|
|
|
|
|
|
|
-- Avantages de Godot
|
|
|
+- Avantages de Godot
|
|
|
- Rapidité et facilités de création et de prototypage (idéal pour
|
|
|
faire des game jam),
|
|
|
- Beaucoup d'outils accessibles sans code,
|
|
@@ -262,7 +262,7 @@ scènes qui composent le jeu.
|
|
|
|
|
|
- Expliquer l'architecture des dossiers
|
|
|
- Les dossiers des deux projets sont organisés de manière
|
|
|
- suivante :
|
|
|
+ suivante :
|
|
|
- "Composants", contient tous les composants qui une fois
|
|
|
assemblés forment le jeu. On y trouve donc les scènes,
|
|
|
script, visuels et sons pour : les interfaces, les objets
|
|
@@ -526,7 +526,7 @@ Niv. 3
|
|
|
- Réf AnimatedSprite2D#flip_v :
|
|
|
<https://docs.godotengine.org/fr/4.x/classes/class_sprite2d.html#class-sprite2d-property-flip-v>
|
|
|
|
|
|
-
|
|
|
+
|
|
|
Note pour améliorer la performance : stocker la référence vers le nœud
|
|
|
dans une variable pour éviter de demander à Godot de chercher le nœud à
|
|
|
chaque fois.
|
|
@@ -548,7 +548,7 @@ Niv. 4
|
|
|
- Associer l'image éclair au Sprite2D
|
|
|
- S'inspirer de l'effet de flamme pour alterner les valeurs de
|
|
|
frame, flip_h et flip_v à intervalles réguliers.
|
|
|
- - Mode expert : alterner aussi avec
|
|
|
+ - Mode expert : alterner aussi avec une seconde image
|
|
|
- Doc
|
|
|
- Référence : AnimatedSprite2D
|
|
|
<https://docs.godotengine.org/fr/4.x/classes/class_sprite2d.html>
|
|
@@ -567,7 +567,7 @@ Niv. 4
|
|
|
pouvoir, alternative 2
|
|
|
- Ressources
|
|
|
- Animation de récupération de pouvoir
|
|
|
-- Action
|
|
|
+- Actions
|
|
|
- Ajouter un nœud AnimatedSprite2D à la scène `recup_pouvoir`
|
|
|
dans le dossier `effets`
|
|
|
- Attention : il ne faut détruire la scène avec queue_free quand
|
|
@@ -576,6 +576,18 @@ Niv. 4
|
|
|
- Référence :
|
|
|
<https://docs.godotengine.org/fr/4.x/classes/class_animatedsprite2d.html>
|
|
|
|
|
|
+#### Effet d'éruption de la raquette
|
|
|
+
|
|
|
+- Dépend du pouvoir laser
|
|
|
+- Actions
|
|
|
+ - Créer une scène effet dans `effets/eruption`
|
|
|
+ - Utiliser un `AnimatedSprite2D` pour faire l'effet d'éruption
|
|
|
+ - Dans le TileSet
|
|
|
+ - Importer les trois images d'éruption
|
|
|
+ - Activer la lecture au chargement
|
|
|
+ - Désactiver la lecture en boucle
|
|
|
+ - Auto-détruire l'effet après l'animation
|
|
|
+ - Brancher le signal `animation_finished` à la méthode `queue_free()` du nœud racine
|
|
|
|
|
|
|
|
|
#### UI
|
|
@@ -603,12 +615,12 @@ Niv. 2
|
|
|
- ~~Nombre de balles dans le lanceur~~
|
|
|
- Actions
|
|
|
- Décommenter la variable "nombre_de_balles" à 0 dans la scène
|
|
|
- "lanceur.tscn".
|
|
|
+ "lanceur.tscn".
|
|
|
- Ajouter signal "nb_balles_change" dans la scène du lanceur.
|
|
|
- Émettez le signal dans l'appel
|
|
|
"_decrementer_nombre_de_balles()".
|
|
|
- Ajouter un label dans la scène de niveau.
|
|
|
- - Brancher le signal du lanceur du niveau vers le compteur/label.
|
|
|
+ - Brancher le signal du lanceur du niveau vers le compteur/label.
|
|
|
- Répéter le branchement pour chaque niveau.
|
|
|
|
|
|
|
|
@@ -746,21 +758,12 @@ positionnel en 3 dimensions).
|
|
|
- Enfin dans la section "Process" changer le champs "Mode"
|
|
|
pour la valeur "Always" (sinon la musique se mettra en pause
|
|
|
lors de l'affichage du menu pause.
|
|
|
-- Référence
|
|
|
+- Référence
|
|
|
- Le nœud AudioStreamPlayer :
|
|
|
<https://docs.godotengine.org/fr/4.x/classes/class_audiostreamplayer.html>
|
|
|
|
|
|
|
|
|
|
|
|
-#####
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
##### Faire un bruit à l'impact d'une balle
|
|
|
|
|
|
|
|
@@ -775,7 +778,7 @@ Niv 1
|
|
|
- Ajouter le noeud AudioStreamPlayer dans la scene balle.
|
|
|
- Charger le son "collision_sfx.wav" dans le champs "Stream"
|
|
|
de l'AudioStreamPlayer dans l'inspecteur.
|
|
|
- - Brancher le signal "rebondi" de la balle à la fonction play()
|
|
|
+ - Brancher le signal "rebondi" de la balle à la fonction play()
|
|
|
de l'AudioStreamPlayer.
|
|
|
- Dans l'inspecteur de l'AudioStreamPlayer affecter le champs
|
|
|
"Bus" au bus : Bruits
|
|
@@ -838,10 +841,6 @@ Niv. 1
|
|
|
|
|
|
|
|
|
|
|
|
-#####
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
##### Bruit lorsqu'un pouvoir est récupéré
|
|
|
|
|
|
|
|
@@ -942,7 +941,7 @@ et activer l'un de ses effets.
|
|
|
- Repérer dans le script "pause_menu.gd" la fonction
|
|
|
"_unhandled_input(event: InputEvent)" et ajouter dans le
|
|
|
"else" de l'embranchement :
|
|
|
- "AudioServer.set_bus_effect_enabled(2,1, true)" pour
|
|
|
+ "AudioServer.set_bus_effect_enabled(2,1, true)" pour
|
|
|
activer le "LowPassFilter" à l'apparition du menu pause.
|
|
|
- Repérer dans le script "pause_menu.gd" la fonction
|
|
|
"reprendre()" et ajouter
|
|
@@ -1358,32 +1357,51 @@ avoir à créer l'objet associé.
|
|
|
|
|
|
##### Pouvoir laser
|
|
|
|
|
|
+Niv. 4
|
|
|
|
|
|
|
|
|
-Niv. 4
|
|
|
+Permet à la raquette de lancer un javelot à haute énergie qui détruit tout sur son passage !
|
|
|
|
|
|
|
|
|
- Prérequis
|
|
|
- - Assets graphiques javelot.
|
|
|
+ - Assets graphiques javelot
|
|
|
- Actions
|
|
|
+ - Créer le javelot dans le dossier `javelot`
|
|
|
+ - La racine de la scène est un `Node2D`
|
|
|
+ - Ajouter l'image du javelot `mcJavelot.png`
|
|
|
+ - Utiliser une `Area2D` pour déterminer la zone de destruction
|
|
|
+ - Donner lui une forme en ajoutant un enfant `CollisionShape2D`
|
|
|
+ - Définir une forme carrée au sommet de la flèche
|
|
|
+ - Coder le comportement du javelot
|
|
|
+ - Attachez un nouveau script au javelot
|
|
|
+ - Monter le javelot à chaque image
|
|
|
+ - Pensez à utiliser l'argument `delta` de `physics_process`
|
|
|
+ - Créer une fonction `_quand_corps_entre_dans_zone_destructive`
|
|
|
+ - La fonction prend en argument un `corps: Node2D`
|
|
|
+ - Brancher le signal `body_entered` de la zone de destruction à cette fonction
|
|
|
+ - Si le corps est une brique, frapper là !
|
|
|
+ - Auto-détruire le javelot lorsqu'il sort de l'écran
|
|
|
+ - Ajouter le nœud `VisibleOnScreenNotifier2D`
|
|
|
+ - Brancher le signal `screen_exited` à la méthode `queue_free()` du nœud racine
|
|
|
- Faire un nouveau pouvoir
|
|
|
- - Déclenchement : ajoute une scène temporaire, le javelot, qui
|
|
|
- part de la raquette, qui va vers le haut et qui détruit toutes
|
|
|
- les briques sur son passage
|
|
|
-
|
|
|
+ - Déclenchement
|
|
|
+ - Créée un nouveau javelot à l'endroit de la raquette
|
|
|
+- Débloque : fait un effet d'eruption à la surface de la raquette
|
|
|
+- Docs
|
|
|
+ - [Comment utiliser les Area2D](https://docs.godotengine.org/fr/4.x/tutorials/physics/using_area_2d.html)
|
|
|
+ - [Référence Area2D](https://docs.godotengine.org/fr/4.x/classes/class_area2d.html)
|
|
|
|
|
|
|
|
|
##### Pouvoir électrique
|
|
|
|
|
|
-
|
|
|
-
|
|
|
Niv. 4
|
|
|
|
|
|
La balle électrique possède une zone d'influence qui détruit les
|
|
|
briques à distance.
|
|
|
|
|
|
|
|
|
-- Prérequis
|
|
|
+- Dépend de laser
|
|
|
+- Prérequis
|
|
|
- Image de la balle électique (animée dans un autre chapitre)
|
|
|
- Actions
|
|
|
- Copier la scène balle de feu.
|
|
@@ -1395,8 +1413,7 @@ briques à distance.
|
|
|
- Bonus : rajouter un délai entre le moment où la zone électrique
|
|
|
touche une brique et le moment où celle-ci subit le dégât
|
|
|
- Docs
|
|
|
- - Référence Area2D :
|
|
|
- - Référence Timer :
|
|
|
+ - Référence Timer :
|
|
|
|
|
|
|
|
|
|