Je développe actuellement un simple jeu Pong pour l'iPhone. Actuellement en utilisant CGRectIntersectsRect pour la détection de collision et quant à la déflexion de la balle quand elle touche la pagaie, je multiplie la vitesse de la balle avec -1 (inversant ainsi la direction de la balle). Ce que j'essaie de faire est de faire en sorte que lorsque la balle touche la pagaie, elle vérifie si elle est éloignée du centre de la pagaie et augmente l'angle de déflexion plus la balle est éloignée de la pagaie. le centre de la pagaie. (Par exemple, dans ce cas, la balle sera déviée à 90 degrés, peu importe d'où elle vient, tant qu'elle frappe le centre de la pagaie)Angle de Déviation Avancée iPhone Pong
Comment est-ce que je suis supposé faire cela?
Toute aide serait grandement appréciée.
Merci.
Point de clarification des coordonnées ... 90 degrés quoi? ... l'angle d'arrivée? ... la pagaie? ... la normale de la pagaie? En physique, quand on parle d'optique et de collision, on se réfère généralement à l'angle par rapport à la normale. Cependant, un tel cadre de référence n'a aucun sens compte tenu de ce que vous avez demandé dans la question. – Sparky
Les 90 degrés sont l'exemple de l'angle de déviation lorsque la balle frappe le centre exact de la palette. Voici comment je voulais que la balle se comporte; pour dévier la balle après qu'elle frappe la palette avec l'angle de déviation en référence au centre de la palette. Si la balle touche le centre de la pagaie, elle fléchirait dans un degré de 90-ish et plus loin du centre de la pagaie, l'angle de déflexion augmentera, disons, je veux qu'il dévie à un angle de 45 degrés si elle touche le côté gauche de la pagaie. – CherryBun