[[CCDirector sharedDirector]winSize] неправильно

Когда я звоню CGSize winSize = [[CCDirector sharedDirector]winSize]; в cocos2d из метода init корневого контроллера представления и nslog "winSize" сразу после того, как он сообщает, что экран в портретной ориентации, хотя на самом деле он в альбомной ориентации. Эта ошибка не возникает, когда вы вызываете ее из -(void)onEnter или из представления, которое было загружено из корневого представления. Я вижу, что некоторые другие люди испытывают эту проблему после поиска в Google, но никто на самом деле не знает, как ее исправить, или ответ не относится ко мне.

1 ответ

Решение

Да, это одна из серьезных проблем в cocos2D 2.0. Когда я пытаюсь в init метод первой сцены.

Вместо init попробуйте OnEnter.

-(void)onEnter
{
  [super onEnter];
  CGSize winSize = [[CCDirector sharedDirector]winSize];

  //Place all your init functions here.
}

Примечание: в iphone5 отсутствие Default-568h@2x.png также приводит к неправильному размеру!!! Cocos2d 3.0:

CGSize s = [[CCDirector sharedDirector] viewSize];

Другие вопросы по тегам