cocos2dx ios中橫屏切換豎屏相簿崩潰

2021-08-10 05:22:02 字數 1071 閱讀 7031

做了3個月的專案,終於把安卓版本弄上線了,接下來就是苦逼的搞蘋果版本。然而一開始就遇到乙個問題,因為我們專案是橫屏的,但是呼叫系統相簿的時候,因為系統相簿是豎屏的,直接就閃退了。

報錯資訊:

一開始還以為要在info.plist裡面把protrait加上,導致的結果是進去的時候取到的螢幕尺寸是640*1136。然後螢幕適配也有問題。果斷放棄。後來看到別人的帖子裡面有提到

supportedinte***ceorientationsforwindow

這個方法,不過人家是在

.mm裡面加的,而我們專案用的是cocos2dx版本,所以我加在了

.mm中。

如下:- (

uiinte***ceorientationmask

uiwindow

*)window

此**表示專案支援全部的方向。

然而我們專案實際在執行時其實一般都是橫屏的,所以在rootviewcontroller.mm中修改

// for ios6, use supportedinte***ceorientations & shouldautorotate instead

- (nsuinteger

) supportedinte***ceorientations

此**表示遊戲內僅支援橫屏

然後在我自己呼叫系統相簿的

imagepickerviewcontroller

.mm檔案中重寫函式 -(

nsuinteger

)supportedinte***ceorientations

return

uiinte***ceorientationmasklandscape;

}inphoto

為bool值,在進入相簿或相機前設定為true,這樣進入的時候會自動切為豎屏。在取消**或拍照或成功選中**時設定為false,這樣相簿或相機退出時,遊戲會自動在切為橫屏。這樣就解決問題啦。其實解決的思路還是挺簡單的,主要是對ios不熟,遇到問題也就只能這樣一步一步嘗試過來

最後記得要支援螢幕旋轉哦。

- (bool

) shouldautorotate

cocos2d x ios 設定橫屏 豎屏(全)

cocos2d x專案 ios rootviewcontroller.mm檔案中。以下方法任選其一即可 本人機子函式二ok 函式一 bool shouldautorotatetointe ceorientation uiinte ceorientation inte ceorientation 函式...

cocos2d x IOS遊戲開發

捕魚達回顧 cocos2d x ios遊戲開發 捕魚達人1 內容介紹 上節回顧 cocos2d x ios遊戲開發 城市跑酷14 重寫觸屏 touch 事件處理機制,響應玩家操作 cclabelbmfont的特色就是以占用更多記憶體為代價加快標籤的更新,這與其他任何ccsprite類相似 在遊戲中使...

cocos2d x IOS遊戲開發

捕魚達回顧 cocos2d x ios遊戲開發 捕魚達人1 內容介紹 上節回顧 cocos2d x ios遊戲開發 城市跑酷3 讀取資源,設定背景層 遊戲的元素應該是多種多樣的,只有乙個背景就略顯單調了,這裡我們來加入一些道具。來看下具體的實現 加入背景 城市燈火 background ccspri...