1
我正在使用cocos2d 0.99-rc0中的標準旋轉代碼來支持縱向+兩種橫向模式。我在縱向模式下顯示菜單,然後屏幕旋轉爲實際遊戲的橫向。問題在於,當我回到肖像時,整個mainmenu場景都被屏幕的一半關掉,就像有人移動了錨點或其他東西一樣。cocos2d屏幕方向問題
有什麼想法嗎?
我正在使用cocos2d 0.99-rc0中的標準旋轉代碼來支持縱向+兩種橫向模式。我在縱向模式下顯示菜單,然後屏幕旋轉爲實際遊戲的橫向。問題在於,當我回到肖像時,整個mainmenu場景都被屏幕的一半關掉,就像有人移動了錨點或其他東西一樣。cocos2d屏幕方向問題
有什麼想法嗎?
一個可能的簡單解決方案是在場景開始時應用方向,然後在病房重新應用菜單項的位置後使其全部對齊。
我執行以下操作來更改屏幕方向:
首先,第一行進入我設置一個計時器快速0.5秒之後開始init方法內。將它放入計時器意味着在我的遊戲中,場景過渡(淡入淡出)可以順利進行,屏幕不會隨即旋轉/倒轉,但您可能不需要使用它。
[self schedule:@selector(rotate:) interval:0.5];
-(void)rotate:(ccTime) dt{
[[CCDirector sharedDirector] setDeviceOrientation:CCDeviceOrientationLandscapeLeft];
[self unschedule:@selector(rotate:)];
}
重點線低於,你不一定需要定時器:
[[CCDirector sharedDirector] setDeviceOrientation:CCDeviceOrientationLandscapeLeft];
當然你也可以改變此位爲不同的方向:
CCDeviceOrientationLandscapeLeft
CCDeviceOrientationLandscapeRight
CCDeviceOrientationPortrait
CCDeviceOrientationPortraitUpsideDown
好運。
聽起來像一個真正的黑客,但嘿 - 如果沒有更好的解決方案,那麼這是最好的解決方案!感謝分享,一旦我完成一些其他的東西,我會再次看看這個。 – 2010-11-17 07:53:03