2010-11-26 10 views
0


Assez simple question que je suis sûr que vous allez vous moquer de moi.
J'ai deux rectangles playerRect et wall.
J'ai une instruction if avec condition étant ..Détection de collision entre deux rectangles

if (CGRectIntersectsRect(playerRect,wall)) { 
     //handle collision here 
} 

Le problème que je vais avoir travaille sur quel côté a frappé en fait le rectangle de mur.
J'ai besoin de savoir parce que j'arrête le joueur de bouger selon le côté touché.
Merci pour toute aide
Disco

+0

cochez cette case si vous n'avez pas http://stackoverflow.com/questions/3079168/ collision-détection-2d-entre-rectangles –

Répondre

0

Je voudrais ajouter une propriété de direction à mon objet « Player ». De cette façon, lorsque vous détectez une collision, vous vérifiez simplement de quelle manière le joueur se déplaçait avant la collision et réagissez en conséquence.

0

Créez une CGRect pour chaque côté de votre objet avec une largeur de 1 (ou une hauteur de 1 selon le côté) et recherchez des intersections avec les côtés au lieu de l'objet entier. Si votre objet se déplace plus vite que 1 pixel par collision, vérifiez les côtés en plus de en vérifiant l'objet entier

Questions connexes