Open GoDoco opened 1 month ago
Oui c'est normal, c'est dû au fait que la classe Ennemy
possède un paramètre booléen _canMoveUpAndDown
pour déterminer si l'ennemi concerné peut suivre le joueur verticalement et horizontalement ou juste horizontalement.
Chez les chauve-souris ce paramètre est à true
et il est à false
chez les Zombies (qui ne peuvent pas voler).
Le problème quand j'ai implémenté ça est que je n'ai pas bien pris en compte la gravité. J'ai essayé de l'implémenter à la volée momentanément en affectant le vecteur Velocity
pour faire tomber l'ennemy avec la force _gravity
, mais je crois que j'ai mis ce paramètre gravity
trop faible, ce qui fait que les Zombies tombent en réalité, mais très (trop) doucement.
(Noter que les Zombies commencent toujours sur le sol, mais leur hauteur est affectée si ils suivent le joueur sur une rampe et n'en retombent plus par la suite, ce qui cause l'anomalie)
Il faudrait faire en sorte que la variable gravity
soit commune au joueur, peut-être en l'enlevant de la classe Player
et en l'affectant au WorldEnvironment
(avec [Export]
)
je vois et ça réglerait pas le soucis si on mettait les ennemis en enfant des noeuds pour le sol et qu'on active "Transformation->Aimanter l'objet au sol"
j'ai pas l'option affichée sur mon Godot, mais teste au pire et tu nous dit si ça marche
je parlais de ce bouton là mais azy je vais essayer
Il me semble que les boutons sur le haut de l'éditeur correspondent à des outils d'édition et pas au jeu
À mon avis, "aimanter au sol" veut dire "coller l'objet au sol quand tu le déplaces avec ta souris", un peu comme quand tu es sur Powerpoint et que tu déplaces une forme, et qu'elle se colle dans l'axe du milieu (voir ci-dessous, "alignment guides")
t'as raison j'ai essayé ça n'a rien changé
j'ai remarqué que les zombies flottent au dessus du sol je me dis que ce qui pourrait régler le soucis ça serait de les ajouter en enfants du CSGBox responsable du sol mais je ne préfère pas essayer pour ne pas bousiller le bazar