Портретный режим Cocos2d не работает на iPhone - PullRequest
5 голосов
/ 13 мая 2011

Я создаю игру cocos2d, которая должна быть в портретном режиме.Я изменил RootViewController.m на портретный режим, и все отлично работает, как на симуляторе, так и на моем iPad.Однако, когда я запускаю игру на своем iPhone, по умолчанию она возвращается в альбомный режим.

Есть идеи, как это исправить?

Спасибо.

Ответы [ 5 ]

7 голосов
/ 13 мая 2011

У меня есть лучшее решение, которое будет работать на 100%:

Заменить все содержимое метода RootViewController.m / shouldAutorotateToInterfaceOrientation следующим:

return (UIInterfaceOrientationIsPortrait ((interfaceOrientation));

И если я когда-либо захочу изменить ориентацию во время выполнения / переключения сцены:

[[CCDirector sharedDirector] setDeviceOrientation: CCDeviceOrientationLandscapeLeft];

Обратите внимание, что теперь поддерживается автоповорот

1 голос
/ 21 сентября 2011

в GameConfig.h:

использовать директора для авторотации

#if defined(__ARM_NEON__) || TARGET_IPHONE_SIMULATOR
#define GAME_AUTOROTATION kGameAutorotationCCDirector 

вместо

#if defined(__ARM_NEON__) || TARGET_IPHONE_SIMULATOR
#define GAME_AUTOROTATION kGameAutorotationUIViewController

и в AppDelegate.m

- (void) applicationDidFinishLaunching:(UIApplication*)application
{
...
[director setDeviceOrientation:kCCDeviceOrientationPortrait];
0 голосов
/ 25 октября 2011

в GameConfig.h:

For 1st and 2nd generation devices, value is set to kGameAutorotationNone, change it to kGameAutorotationUIViewController.

// ARMv6 (1st and 2nd generation devices): Don't rotate. It is very expensive
#elif __arm__
#define GAME_AUTOROTATION kGameAutorotationNone
0 голосов
/ 13 мая 2011

In RootViewController.m

return ( UIInterfaceOrientationIsLandscape( interfaceOrientation ) );

изменить эту строку на

return ( UIInterfaceOrientationIsPortrait( interfaceOrientation ) );
0 голосов
/ 13 мая 2011

Внутри RootViewController верните false из метода ниже:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

    return false; 

   // other code...

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...