Les tutoriels de sélection et de sélection fournis dans d'autres réponses ne sont pas applicables ici; entre autres glSelectBuffer et glRenderMode ne font pas partie d'OpenGL ES. Il y a, comme indiqué ailleurs, essentiellement deux approches. Vous pouvez comprendre comment le toucher correspond à votre scène et tester vos objets mathématiquement. Si votre carré est plat, comme si vous le dessiniez en 2d, alors vous pouvez le faire assez facilement. Alternativement, vous pouvez faire quelque chose essentiellement comme le choix mais adapté pour la fonctionnalité disponible sous OpenGL ES. Par exemple, effacez votre scène au noir et dessinez votre carré en bleu uni. Utilisez glReadPixels pour obtenir la valeur de couleur à l'emplacement tactile. Si c'est bleu alors le toucher est sur le carré. C'est probablement une façon plus coûteuse de tester car cela signifie un tirage supplémentaire de la scène, mais cela signifie que vous n'avez pas à implémenter de maths supplémentaires ou d'autres codes au-delà de ce que GL fournit. La seule petite chose à garder à l'esprit est que OpenGL utilise la même manière d'adresser les pixels partout - (0, 0) est le bas à gauche, le positif y monte et le positif x va à gauche. Ainsi, quels que soient les axes sur lesquels vous avez vos coordonnées tactiles, vous devez les transformer pour être relatif à cela avant de faire les glReadPixels.
Cela semble si difficile. Je vais mettre quelques boutons sur l'écran et les utiliser pour déplacer des objets OpenGL. – VansFannel
@VansFannel ce n'est pas si difficile du tout, il suffit de suivre le tutoriel pour la sélection des couleurs. Un bouton pour faire ce que le doigt peut faire sur l'iPhone est une très mauvaise idée – rano
@rano: Je le fais pour Android pas pour iPhone. – VansFannel