2012-03-29 2 views
0

Je suis en train de mettre à jour mon jeu en utilisant XCode 4.3.1 et un iPad3. Lorsque le mode iPAD HD est sélectionné, je reçois un écran noir lorsque je change la scène depuis AppDelegate.iPad3 HD écran noir dans l'orientation portrait

J'utilise Cocos2d v1.0.1

Mon jeu est en mode portrait seulement, et je pense que j'ai origine du problème:.

Si vous créez un nouveau projet avec le calque HelloWorld par défaut, il fonctionne sur l'iPad3 et son simulateur en HD.

Toutefois, si vous modifiez le code suivant: -

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 

... 

#elif GAME_AUTOROTATION == kGameAutorotationUIViewController 
// 
// EAGLView will be rotated by the UIViewController 
// 
// Sample: Autorotate only in landscpe mode 
// 
// return YES for the supported orientations 

//return (UIInterfaceOrientationIsLandscape(interfaceOrientation)); 
return (UIInterfaceOrientationIsPortrait (interfaceOrientation)); 

//return NO; 

... 
} 

Dans RootViewController.m

Vous voyez un écran noir pour le périphérique réel iPad3 et simulateur. Il fonctionne comme prévu sur tous les appareils, iPhone/iPod Touch, et iPad 1 et 2.

Si je change la déclaration de retour à

retour (UIInterfaceOrientationIsLandscape (interfaceOrientation));

Je reçois le Hello World rendu à l'écran, mais il est en mode paysage uniquement sur iPad3.

Est-ce que quelqu'un d'autre a rencontré ceci et a des suggestions pour une solution?

Le projet est assez volumineux pour mettre à niveau le dernier code bêta V1.

+0

Êtes-vous sûr que 'GAME_AUTOROTATION' est défini comme étant égal à' kGameAutorotationUIViewController'? – jonsibley

Répondre

2

car il est trop tard pour répondre. Il peut aider les autres

essayer cette ligne de code à

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: 


[director setProjection:kCCDirectorProjection2D]; 

espoir cela va résoudre votre problème.

+0

Merci, cela résout en effet le problème!Y a-t-il une explication pourquoi cela ne se produit que sur le nouvel iPad et que se passe-t-il en arrière-plan avec cet appel? – alexleutgoeb

0

Je pense que le problème à cette règle est le nouveau Xcode, lorsque u mise à niveau vers XCode 4.5 avec le nouveau

IOS 6.0 sdk, le projet « d'orientation d'interface pris en charge » fonction obtient non sélectionnée,

essayer pour les sélectionner si tu veux tous qu'ils soient disponibles,

cela résoudra le problème,

pas besoin de changer dans l'application délégué ou d'utiliser [directeur setProjection: kCCDirectorProjecti on2D]; car cela pourrait gâcher l'affichage.

espérons que cela aide, en fonction de ce que je faisais face personnellement.

0

Il suffit de désactiver Retina pour iPad3 [director enableRetinaDisplay: YES]; Plus tard, vous pouvez mettre à jour votre application pour iPad3 en ajoutant XXXXXx-ipadhd.png (version ipad retina des images) à votre projet.