Черный экран iPad3 HD в портретной ориентации

В настоящее время я обновляю свою игру, используя XCode 4.3.1 и iPad3. Когда выбран режим iPAD HD, я получаю черный экран, когда меняю сцену из AppDelegate.

Я использую COCOS2d v1.0.1

Моя игра работает только в портретном режиме, и я думаю, что нашел проблему.

Если вы создаете новый проект со слоем HelloWorld по умолчанию, он работает на iPad3 и его симуляторе в HD.

Однако, если вы измените следующий код: -

-(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;

...
}

В RootViewController.m

Вы видите черный экран для реального устройства iPad3 и симулятора. Он работает должным образом на всех устройствах, iPhone/iPod Touch и iPad 1 и 2.

Если я изменю выражение обратно на

return (UIInterfaceOrientationIsLandscape(interfaceOrientation));

Я получаю Hello World, отображаемый на экране, но в альбомной ориентации только на iPad3.

Кто-нибудь еще сталкивался с этим и есть предложения по исправлению?

Проект достаточно большой для обновления до последней бета-версии V1.


person Jason Brooks    schedule 29.03.2012    source источник
comment
Вы уверены, что GAME_AUTOROTATION определено как равное kGameAutorotationUIViewController ?   -  person codeperson    schedule 02.04.2012


Ответы (3)


так как уже поздно отвечать. Это может помочь другим

попробуйте эту строку кода в

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


[director setProjection:kCCDirectorProjection2D];

надеюсь, это решит вашу проблему.

person Shamim Hossain    schedule 03.05.2012
comment
Спасибо, это действительно решает проблему! Есть ли какое-то объяснение, почему это происходит только на новом iPad и что происходит в фоновом режиме с этим звонком? - person alexleutgoeb; 25.07.2012

я думаю, что проблема в новом xcode, когда вы обновляетесь до XCODE 4.5 с новым

IOS 6.0 sdk, функция проекта "поддерживаемая ориентация интерфейса" не выбрана,

попробуйте выбрать их все, если вы хотите, чтобы все они были доступны,

это решит проблему,

не нужно менять приложение-делегата или использовать [director setProjection:kCCDirectorProjection2D]; так как это может испортить дисплей.

надеюсь, что это поможет, основываясь на том, с чем я столкнулся лично.

person Rabih harb    schedule 19.11.2012

Просто отключите Retina для iPad3 [директор enableRetinaDisplay:YES];

Позже вы можете обновить свое приложение для iPad3, добавив в свой проект XXXXXx-ipadhd.png (версия изображений для iPad retina).

person Adrenalinevictim    schedule 02.08.2013