Bonjour !
Pour un jeu en vue topdown (je crois que c’est ça) que je suis en train de développer avec Godot, j’aimerais faire en sorte que le joueur puisse lancer des grenades. Pour cela, j’aimerais que la grenade fasse une courbe pour avoir un meilleur effet.
Voici un schéma :
Ici, le trait du centre part du milieu du personne, monte, puis redescend.
Je ne sais pas le calcul à faire pour y parvenir.
J’ai la position X et Y du personnage ainsi que la position X et Y de la souris, ce qui me permet de savoir où la grenade doit atterrir (sur la position de la souris, avec une distance max par rapport au personnage.
Actuellement, j’ai le code suivant :
new_grenade.get_node("Tween").interpolate_property(new_grenade, "position", new_grenade.position, new_grenade.position - Vector2(0, 64) + (Vector2(direction.x / 2, direction.y / 2)) * grenade_distance, 0.3, Tween.TRANS_LINEAR, Tween.EASE_IN)
new_grenade.get_node("Tween").interpolate_property(new_grenade, "position", new_grenade.position - Vector2(0, 64) + (Vector2(direction.x / 2, direction.y / 2)) * grenade_distance, new_grenade.position + direction * grenade_distance, 0.3, Tween.TRANS_LINEAR, Tween.EASE_OUT, 0.3)
new_grenade.get_node("Tween").start()
Les calculs sont foireux. Je ne sais pas comment calculer la courbe. Une idée ?
J’aimerais, si possible, que vous évitiez de me donner la réponse sous forme de formule mathématique, je sais pas les lire.
Merci !