[Résolu]Problème de chute et collison[Jeu de Plateforme]

Bonjour, il me semble ne pas avoir vu déjà se problème, dans le cas contraire, je m’en excuse.

Voila mon problème: Comme tout jeux de plateforme, le héros est stoppé par le sol qui est sous lui. Donc ce que j’ai voulu faire, c’est créer la gravité qui affecte mon personnage( ce que j’ai réussi). Donc je veux maintenant que le sol ou plateforme stoppe le héros dans sa chute. J’y suis arrivé, le problème c’est que mon personnage ne peut plus avancer du tout, mais je m’en doutais un peu…voici mes codes:

Le problème vient donc à l’évènement 13. J’ai essayé de chose:

  1. en mettant “Arrêter l’objet heros”==> Mon personnage ne bouge plus,il ne peux plus aller nulle part (je m’en doutais un peu)
  2. En enlevant l’action précédente “arrêter l’objet heros”, le personnage traverse l’objet sol et continue de tomber… :frowning: Pourtant j’ai bien annuler l’action de gravité en mettant une autre valeur que 1 pour “chuteheros”.

Donc je viens solliciter votre aide :blush: .

PS: N’empêche j’ai réussi à le faire bouger comme je le voulais (vers la droite et vers la gauche) avec les bonnes animations et tout et tout , je suis content :smiley: .

Attention à bien se rappeler de cette phrase et du paragraphe qui l’accompagne dans le guide de mise en route de l’aide :

L’ordre des évènements a son importance. Ici, met la variable globale “chuteheros” à 1 ( d’ailleurs, une variable propre à l’objet aurait été sémantique ment plus appropriée ), puis tu la teste pour vérifier si elle est égale à 1, et enfin tu la met à 0 si il y a collision.
On se rend donc compte ici que la variable sera toujours égale à 1 lors du test. Il faut donc que tu déplace le dernier évènement avant l’évènement qui ajoute la gravité si besoin. :slight_smile:

Comme ça tu veux dire?

Si non, bah je n’ai pas du tout compris ce que tu va dit.

Euh, je n’ai parlé nul part de sous évènements. :neutral_face:

heu c’est pas logique…comment peut on émettre une condition sur une chose avant même que cette chose soit créer??

  1. La variable n’est pas recrée à chaque évènement, elle reste “vivante” même si tu n’y fait pas allusion.
  2. Ce que je te dit, c’est de placé le test après les actions qui vont modifier la variable.

Actuellement, tu rajoute la gravité si la variable est égale à 1, mais tu ne met la variable à 0 que après.
Il te faut mettre la variable à 0 si il y a collision avant de faire le test.

Met l’évènement 13 de ton screenshot avant le 9.

Comme ça?

Désolé si je suis énervant mais là j’avoue ne pas bien comprendre.

Quand tu dis “test”, tu veux dire la condition pour la collision?(l’évènement 12 sur le screenshot)

Non, je parlais du test de la variable ( condition de l’évènement 13 ).

Maintenant, tu devrais pouvoir enlever l’action “Arrêter l’objet Heros”, vu qu’il ne sera pas descendu si il est en collision.

Non, il continue toujours à tomber…

Serait-ce du à l’objet plateforme en lui même?

Bizarre… Essaye d’enlever les conditions “Plateforme à l’arrêt” et “Prendre un plateforme a tout hasard”.

Ouai c’était ça^^ merci bien .

Parcontre quand il saute, pour qu’il puisse redescendre, il faut bien mettre de la dissipation?( car moi il redescend pas :stuck_out_tongue: )

Si tu as mis 1 en dissipation, la force qui le ferra monter ne s’arrêtera pas.
Dans le cas d’un saut, il est habituel d’utiliser une force avec une dissipation intermédiaire, comme 0.6, pour qu’elle disparaisse progressivement. La gravité deviendra plus forte et le ferra redescendre.
Attention à bien vérifier aussi que lorsque le joueur appuie sur la touche “Up”, le personnage n’est pas déjà entrain de sauter. ( Pour cela, tu peux vérifier si il touche une plateforme, ou tu peux utiliser une variable “EstEntrainDeSauter” par exemple ).

Je vois …enfait dans la variable qui fais la gravité, je n’avais pas mis de dissipation(même pas zéro). Quand j’en ai mis, hop il redescend, que je mette une dissipation plus grande ou plus petite que celle du saut…enfait c’est comme si je n’avais rien fais depuis le début et comme si tu ne m’avais pas aidé car on faisait en fonction d’une dissipation qui n’était même pas nulle…

Y a t il toujours un problème ?

Oui, mais laisse, ça m’énerve je n’y arrive pas. merci tout de même :wink: