Plateforme et moteur physique, une solution ?

Bonjour,

Je réalise un jeu de plateforme actuellement et 'ai besoin d’aide.

Mon personnage peu se déplacer, il peu aussi sauter sans problème grâce au moteur physique.
Cependant je rencontre une difficulté que je ne sais pas surmonter seul :

En effet mes décors sont en réalité une seule image réaliser sur photoshop, et j’y applique ensuite sur GD des objets “plateforme” pour correspondre à l’image aux endroit où le personnage doit se poser. (Objet statique)

Je voudrais que lors d"un saut, si mon personnage touche une plateforme qui se trouve au dessus de lui, il puisse la traverser pour ensuite y rester. En gros, je ne veux pas que mon personnage percute les plateforme lors d’un saut.

J’ai essayé de faire, pour chaque objet plateforme :
-si pos.Y de “plateforme” <= “Hero” alors automatisme “physics” de "plateforme = Non
-si pos.Y de “plateforme” > “Hero” alors automatisme “physics” de "plateforme = Oui

Cela me semblait être une bonne solution mais mon personnage cogne toujours la plateforme. Je ne sais pas pourquoi.

Essaie plutôt
-si pos.Y de “plateforme” <= “Hero” + Hero.Height() - 5 alors automatisme “physics” de "plateforme = Non
-si pos.Y de “plateforme” > “Hero” + Hero.Height() - 5 alors automatisme “physics” de "plateforme = Oui

Étrangement cela ne marche pas nom plus, en fait c’est Hero.Height() qui ne fonctionne pas, car juste avec - 5 cela marche. C’est mon point d’origine qui était mal placé, je n’avais pas fais attention.
Merci d’avoir répondu si vite, en plus je ne connaissais pas Hero.Height() ^^

J’aurais peut être d’autres questions plus tard, là je viens de réussir à réaliser une échelle, problème pour lequel j’allais posté si je n’y arrivais pas.

Nouvelle question :

Je n’arrive pas a trouver la solution à ce problème dans le forum, je n’ai peut être pas les bon mots clé.

Je voudrais que GD reconnaisse l’appuie d’une touche mais pas quand elle reste enfoncé.
C’est pour une animation, actuellement si “espace” est préssé et variable “saut” =0, alors la variable “saut” =1
Si “saut”=1 joueur “animation saut”.
Et si “Hero” est en collision avec “sol”, alors variable “saut” = 0. (ce n’est qu’un résumé)

Sauf que si je laisse la touche enfoncé, l’animation reste sur celle du saut.

Salut!

tu peux jouer l’animation par apport à la collision entre sol et perso si le variable saut est = 1 genre:

si toutes les conditions sont vrai:
-perso n’est pas en collisios avec sol >
-l’animation saut est à 1-------------- > jouer l’animation saut