Estoy confundido sobre cuál es el mejor enfoque al escribir un juego para el iphone. El juego se representará con OpenGL, pero tengo curiosidad cuando creo la pantalla de inicio, menú, página de puntaje alto, etc. ¿Haces todo eso con OpenGL o creas UIViews adicionales y usas el UIKit?IPhone OpenGL ES vistas individuales o múltiples?
Respuesta
No creo que haya un mejor enfoque. Si tiene tiempo para programar menús y tablas de puntaje alto en OpenGL, tiene mucha más flexibilidad, por ejemplo, podría tener una animación en 3D en segundo plano.
Si codifica menús, tablas de puntuación alta, etc. usando vistas de UIKit estándar y cambia la vista de OpenGL mientras se muestran, esto tiene la ventaja de que es muy rápido de codificar (especialmente si se tomó el tiempo para aprender para usar Interface Builder), pero es inherentemente 2d. Aunque todavía puede usar gráficos y tipos de botones personalizados para que se vea menos como una aplicación comercial, todavía se verá menos pulido en comparación con otros juegos en la tienda de aplicaciones.
Lo que no quiere hacer es aplicar una capa de UIView transparente sobre la parte superior de la vista de OpenGL, esto será muy lento.
Yo personalmente uso las vistas generadas por Interface Builder para obtener cosas como menús mientras estoy construyendo el resto del programa. La intención es reemplazarlo con código animado OpenGL más tarde. Al final, sin embargo, es realmente la cantidad de tiempo que tienes disponible.
No creo que haya una respuesta correcta para esto. Yo personalmente uso OpenGL para todo, por ejemplo en estructuras de menú utilizo texturas para el texto. Supongo que depende de lo que quieras mostrar, creo que sería más fácil crear una apariencia personalizada que vaya bien con tu juego si te quedas con OpenGL.
Sí, creo que tomaré este enfoque, pero simplemente no sabía si era una mejor práctica dejar que las manzanas uikit manejaran las básicas. – chicken
He escuchado cosas contradictorias sobre esto. He oído que es lento cuando renderizas UIKit sobre el OES.
Digo, si ve otra aplicación que funciona bien, haga lo mismo.
Algunos de los juegos más populares hacen de todo en OES, p. Rolando. Tal vez es mejor seguir ese patrón.
No creo que pregunte sobre la colocación de capas de UIKit sobre las vistas de OpenGLES, sino sobre si usarlo para otros 'modos' del juego. – U62
Sí, como dijo u62, básicamente tendría en ese ejemplo un montón de controladores de vista y vistas de empuje/apertura basadas en la correcta para mostrar. – chicken
Además de lo que otros han dicho, considere que es un poco más fácil para usted quedarse con OpenGL ya que esa será la mayor parte de su código base.
- 1. ¿Clases de depósito individuales o múltiples?
- 2. iPhone OpenGL ES - Cómo elegir
- 3. OpenGL ES (iPhone) Touch Picking
- 4. juego de mesa iPhone: OpenGL ES o CoreGraphics?
- 5. OpenGL ES 1.1 o 2.0 en el iPhone
- 6. ¿iPad o iPhone son compatibles con OpenGL ES 2.0?
- 7. Índices múltiples e individuales
- 8. ¿Qué es más rápido: múltiples INSERT individuales o un INSERT de múltiples filas?
- 9. Múltiples vistas dentro de un XIB - SDK de iPhone
- 10. Controller individuales, múltiples (heredado) clases (carriles 3)
- 11. agrupaciones de hilos individuales o múltiples para el servidor Java?
- 12. Core Animation o OpenGL ES?
- 13. retorno glGetUniformLocation -1 OpenGL ES (iPhone)
- 14. OpenGL ES (iPhone) mezcla alfa ve raro
- 15. iPhone OpenGL ES 2.0 - Pixel Perfect Textures
- 16. Textura de pantalla completa iPhone OpenGL ES
- 17. Cualquier alternativa glPolygonMode en iPhone (OpenGL ES)?
- 18. Límites de las vistas en cualquier resolución con OpenGL ES
- 19. Arquitectura de una aplicación de vistas múltiples en el iPhone
- 20. ¿Cómo puedo traducir objetos individuales en OpenGL 3.x?
- 21. WPF CollectionViewSource ¿Vistas múltiples?
- 22. iPhone OpenGl render texto
- 23. ¿Qué debo aprender: Quartz u OpenGL ES?
- 24. Convolviendo una imagen con OpenGL ES en iPhone: ¿es posible?
- 25. iPhone: Seguimiento/Identificación de toques individuales
- 26. OpenGL para Android y iPhone
- 27. OpenGL u OpenGL ES
- 28. MVC - Misma URL, múltiples vistas
- 29. Android: actividad única, vistas múltiples
- 30. Elija OpenGL ES 1.1 u OpenGL ES 2.0?
Gracias, creo que iré por la ruta ES para hacer todo esto. – chicken
Pero, ¿qué haces con el texto? ... Puedo hacer mis botones e interfaces en OpenGL, pero ¿cómo manejas el texto? ... si todo mi juego está en inglés, por ejemplo, solo lo escribo. mis recursos gráficos, pero ¿y si necesito localizarlo? parece un poco complicado –
Normalmente en un juego tienes dos situaciones: una pequeña cantidad de texto y una gran cantidad. Si es una cantidad pequeña, probablemente queme el texto en un mapa de bits y, en el caso de la localización, simplemente tenga varias copias del mapa de bits. Donde tenga grandes cantidades de texto, no es práctico almacenarlo en un mapa de bits de todos modos, necesita renderizar el texto en tiempo de ejecución. Puede crear un contexto de gráficos en un mapa de bits fuera de la pantalla, usar las API de Quartz para representar cualquier cosa (incluido el texto) y luego usar ese mapa de bits como una textura OpenGL. – U62