2012-09-19 20 views
7

當我從根視圖控制器的init方法調用CGSize winSize = [[CCDirector sharedDirector]winSize];,並在調用nslog「winSize」之後立即調用CGSize winSize = [[CCDirector sharedDirector]winSize];,此時它報告屏幕實際上是縱向的,而實際上它是橫向的。從 - (void)onEnter或從根視圖加載的視圖調用它時,不會發生此錯誤。我看到其他一些人在Google搜索後發現了這個問題,但沒有人真正知道如何解決這個問題,或者答案不適用於我。[[CCDirector sharedDirector] winSize]是錯誤的

回答

12

是的,這是cocos2D 2.0中的一個嚴重問題。當我嘗試在第一場景的init方法。

而不是init嘗試onEnter。

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

    //Place all your init functions here. 
} 

注: 在iphone5的,缺少[email protected]也導致錯誤的大小! Cocos2d 3.0:

CGSize s = [[CCDirector sharedDirector] viewSize];

+2

很好用,謝謝! – Shredder2794

+0

是啊...但如何獲得第一場景的init內的大小? – Andrew

+1

將您的cocos2d更新爲新版本。新版本的作品很棒。 – Guru

相關問題