Los tutoriales de selección y selección proporcionados en otras respuestas no son aplicables aquí; entre otros glSelectBuffer y glRenderMode no son parte de OpenGL ES.
Existen, como se indicó en otra parte, esencialmente dos enfoques. Usted puede descubrir cómo los mapas táctiles en su escena y evaluar sus objetos matemáticamente. Si tu cuadrado está plano, como si lo estuvieras dibujando en 2d, puedes lograrlo con bastante facilidad.
Alternativamente, puede hacer algo esencialmente como escoger pero adaptado para la funcionalidad disponible en OpenGL ES. Por ejemplo, borre su escena en negro y dibuje su cuadrado en azul sólido. Use glReadPixels para obtener el valor del color en la ubicación táctil. Si es azul, entonces el toque está en el cuadrado. Esta es probablemente una forma más costosa de probar porque significa un sorteo adicional de la escena, pero significa que no tiene que implementar ninguna matemática adicional u otro código más allá de lo que GL suministra.
Lo único leve a tener en cuenta es que OpenGL usa la misma forma de direccionar los píxeles en todas partes: (0, 0) es la parte inferior izquierda, positiva y sube y positiva x izquierda. Entonces, independientemente de los ejes con los que tenga coordenadas de contacto, necesita transformarlos para que sean relativos a eso antes de hacer glReadPixels.
Parece tan difícil. Voy a poner algunos botones en la pantalla y usarlos para mover objetos OpenGL. – VansFannel
@VansFannel no es tan difícil en absoluto, simplemente siga el tutorial para la selección del color. Un botón para hacer lo que el dedo puede hacer en el iPhone es una mala idea – rano
@rano: lo hago para Android, no para iPhone. – VansFannel