[[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];