J'ai ce jeu où j'ai besoin de savoir si la balle a frappé un mur sur le côté (pour rebondir sur l'axe des x) ou sur le dessus (pour rebondir sur l'axe des y, comme un rebond sur le sol). Ils fonctionnent bien individuellement, mais quand je décommente les deux, ça ne marche pas. (Je pense que c'est parce que le code est 'chevauchement'?). Quoi qu'il en soit, voici le code, et toute aide est fantastique:Détection de collision carrée iPhone
if (CGRectIntersectsRect(guy.frame, wall_01.frame)) {
if (guy.frame.origin.y+guy.frame.size.height >= wall_01.frame.origin.y && guy.frame.origin.y <= wall_01.frame.origin.y+wall_01.frame.size.height) {
iJump *= kRestitution;
}
if (guy.frame.origin.x+guy.frame.size.width >= wall_01.frame.origin.x && guy.frame.origin.x <= wall_01.frame.origin.x+wall_01.frame.size.width) {
jJump *= kRestitution;
}
}
quel est le comportement avec les deux ifs décommentée ? – Alvin
L'axe des x fonctionne seulement –
Comment utilisez-vous les variables iJump et jJump? – Alvin