2010-07-26 10 views
9

¿Cuáles son los pasos necesarios para actualizar un juego de iPhone 2D basado en OpenGL ES 1.1 existente para que sea compatible con la pantalla Retina del iPhone 4? Todavía estoy usando la clase Texture2D que vino con el código de muestra CrashLanding (descarga) de Apple.¿Cómo actualizar el juego de iPhone 2D para que sea compatible con la pantalla retina del iPhone 4?

Después de leer Apple's documentation, viendo el video WWDC (sesión 134 "Optimice su aplicación iPhone para la pantalla Retina"), y mirando el código de muestra Cocos2D, todavía estoy confundido.

Creo que los pasos necesarios incluyen:

  • pasando obra de alta resolución (w/"@ 2x" añadido) a [UIImage imageNamed:@"image.png"]
  • cambiar el "contentScaleFactor" de 1,0 a 2,0
  • (donde?)
  • la actualización de los argumentos a glOrthof para incluir el contentScaleFactor
  • ajustar el tamaño de la glViewport

Tenga en cuenta que soy relativamente nuevo en OpenGL.

Gracias por su ayuda!

+1

Solo para asegurarse ... ¿Tiene su glViewport configurado en el tamaño correcto para la pantalla más grande? Si aún lo tenía configurado en un tamaño bajo, podrían suceder cosas extrañas. También asegúrate de que tus números ortho sean correctos. – Moncader

Respuesta

8

Debe conservar la imagen de 320x480 y proporcionar una imagen de 640x960 con un nombre diferente. Supongamos que la imagen 320x480 se llama foo.png, luego nombra el 640x960 uno [email protected].

El sistema seleccionará automáticamente la resolución más alta en un iPhone 4, sin ningún cambio en el código - suponiendo que estaba utilizando [UIImage imageNamed:@"foo.png"].

+0

Ok gracias. La obra de arte adicional con el nombramiento @ 2x se está cargando en el iPhone 4 (y no en el 3G ... como se esperaba). Sin embargo, la ilustración de alta resolución es mucho más grande que la pantalla del iPhone 4. Creo que necesito ajustar el contenido de ScaleFactor ... No estoy seguro de dónde. – MrDatabase

+2

MyUIView.contentScaleFactor es lo que está buscando - configúrelo en 2.0 – pop850

+0

Um. Esta respuesta no tiene nada que ver con la pregunta: eso fue sobre OpenGL. – Jonny

Cuestiones relacionadas