2012-09-19 17 views
5

He estado buscando por todas partes pero sin suerte.cocos2d iphone 5 Soporte de pantalla de 4 pulgadas

¿Cómo preparo mi juego basado en cocos2d para una pantalla más grande de 4 pulgadas del iPhone 5? Mi aplicación está funcionando, pero quiero mejorarla para la pantalla más grande de 4 pulgadas. Cocos2d usa sus propios sufijos para imágenes de pantalla Retina. Para la visualización retina del iPhone 4 y 4S es image-hd.png. ¿Hay un sufijo para iPhone 5? ¿Cómo logro esto?

Saludos.

Respuesta

8

añadirlo a AppDelegate:

[CCFileUtils setiPadRetinaDisplaySuffix:@"your suffix"]; 
[CCFileUtils setiPadSuffix:@"your suffix"]; 
[CCFileUtils setiPhoneFourInchDisplaySuffix:@"your suffix"]; 
[CCFileUtils setiPhoneRetinaDisplaySuffix:@"your suffix"]; 
+3

¿Si no tengo el método setiPhoneFourInchDisplaySuffix? Versión Cocos2d cocos2d v2.1-beta2 – Buron

+0

revise la API ref, si es necesario actualice – LearnCocos2D

1

¿Usted siguió la siguiente publicación, agregando la imagen por defecto, llamada [email protected] con una resolución de 1136x640?

How to develop or migrate apps for iPhone 5 screen resolution?

Si esto no funciona, me encontré con este post en el foro cocos2d, que contiene una gran cantidad de informaciones:

iPhone 5 1136 x 640 resolución de pantalla: http://www.cocos2d-iphone.org/forum/topic/39491

+0

Sí, encontré ambos. Pero todavía no sé cómo nombre los archivos .png para los sprites. Tengo una pantalla de bienvenida para mi aplicación llamada [email protected] y su funcionamiento. Pregunta a la izquierda ¿cómo puedo 'CCSprite * player = [CCSprite spriteWithFile: @" player.png "];' para la pantalla de 4 pulgadas? Cocos2d sabe usar el sufijo -hd cuando se muestra la retina, ¿cómo le digo qué imagen usar para la retina de 4 pulgadas? – Majster

+0

No encontré ninguna mención de un nuevo sufijo en las últimas notas de la versión y documentos de cocos2d. Creo que puede detectar y especificar mediante programación su archivo player-568h.png personalizado por el momento. Y cambien eso cuando den una nueva versión de cocos2d ... – iMathieuB

12

No hay supletoria sufijo de archivo para iPhone 5, después de todo, solo tiene 176 píxeles (88 puntos) más. Se trata como un teléfono Retina normal, por lo tanto, cocos2d cargará los archivos -hd.

El resto se trata solo de posicionar sus imágenes dependiendo del dispositivo. La forma más simple es tratar los 44 puntos de cada lado como una "zona muerta" donde no se puede ingresar el usuario y donde no hay garantía de que el usuario pueda ver los objetos del juego.

Actualización: cocos2d 2.1 agregó el sufijo -widehd. Se dijo que 2.1 versión final tendrá el sufijo renombrado a -iphone5hd.

En vista de los futuros tamaños de pantalla, podría configurar personalmente y usar un sufijo de -568hd porque otros teléfonos junto con el iPhone 5 pueden tener la misma resolución. Nombrar el sufijo después de un modelo de iPhone específico es un poco corto de miras por decir lo menos.

+0

'-iphone5hd' funciona bien con 2.1. Gracias por la información. –

7

No estoy seguro de por qué todos dicen que no.

El sufijo es -568h para iPhone5/iPod Touch 5th (por lo que las pantallas retina de 4 pulgadas).

la lista total:

  • -HD (iPhone 4/4S, iPod Touch cuarta)
  • -568h (iPhone 5, iPod Touch 5º)
  • -ipad (primera iPad/segundo)
  • -ipadhd (tercera iPad/4º)
7

añadir esto a AppDelegate con su sufijo elegido:

if((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) && ([[UIScreen mainScreen] bounds].size.height == 568)) { 
    [sharedFileUtils setiPhoneRetinaDisplaySuffix: @"-your suffix"]; 
} 
0

iPhone apoyo Ahora cocos2d amplia pantalla también.

-wide.png for iphone 5 
-widehd.png for iPhone 5 HD 
0

sólo estaba jugando con sufijos en Cocos2D 2.1-RC1 y fue capaz de conseguir que se cargue automáticamente un archivo de iPhone5 con el sufijo "-iphone5hd", no cambiar nada en AppDelegate en la sección de código sharedFileUtil . Espero que ayude, también.

2

Me tomó un tiempo resolver esto, ya que soy nuevo en cocos2d. Así que pensé que una recapitulación podría ser útil para aquellos como yo. En cocos2d 2.1, todo lo que tiene que hacer es crear gráficos para los tamaños de pantalla de destino y seguir las convenciones de nomenclatura de sufijo de Cocos. Tenga en cuenta que la convención de sufijos de Cocos no es la misma que la de iOS.

En mi caso, tengo una imagen de fondo que ocupa la pantalla completa. Por lo tanto, hice ...

  1. background.png a 480x320 para iPhone
  2. fondo-hd.png a 960x640 para iPhone retina (3.5")
  3. fondo-iphone5hd.png para iPhone5 retina (4 ")

Y use el siguiente código para cargar la imagen en CCSprite. Cocos descubrirá qué imagen usar para usted.

CCSprite *background = [CCSprite spriteWithFile:@"background.png"]; 
background.position = ccp(background.textureRect.size.width/2, 
background.textureRect.size.height/2); 
[self addChild:background]; 

Para un elemento como un personaje que no ocupa toda la pantalla, voluntad cocos2d carácter hd.png recogida automática en iPhone5. No es necesario crear la versión de character-iphone5hd.png.

Puede leer más sobre esto en la versión 2.1 liberación nota al https://github.com/cocos2d/cocos2d-iphone/wiki/cocos2d-v2.1-release-notes

2

Esta es la forma en que lo hice por cocos2d v2.1-beta4.

En CCFileUtils.h añadí:

- (void)setIphone5HDSuffix:(NSString *)suffix; 

En CCFileUtils.m:

- (void)setIphone5HDSuffix:(NSString *)suffix 
{ 
    [_suffixesDict setObject:suffix forKey:kCCFileUtilsiPhone5HD]; 
} 

En AppDelegate.m:

[sharedFileUtils setIphone5HDSuffix:@"your_suffix"]; 

Y eso es suficiente!

Cuestiones relacionadas