2013-07-31 58 views
0

我在Mosync 3.3.1上創建一個使用OpenGL ES 2.0的應用程序,理想情況下我希望屏幕旋轉到屏幕傾斜的任何方向。然而,使用maScreenSetSupportedOrientations()並將其設置爲動態或橫向時,導致應用程序在嘗試旋轉到橫向時崩潰。這是需要修復的錯誤還是我做錯了什麼?我將我的代碼發送給nexus 7平板電腦。MoSync 3.3.1,橫向屏幕方向導致崩潰

林開始在我的代碼的初始化函數調用:

maScreenSetSupportedOrientations(MA_SCREEN_ORIENTATION_DYNAMIC); 
maScreenSetOrientation(MA_SCREEN_ORIENTATION_LANDSCAPE); 

我的整個代碼可以在這裏找到:http://codetidy.com/6378/

+0

* maScreenSetSupportedOrientations()*函數啓用可能的方向,使用* maScreenSetOrientation()*調用實際的動態,您是否可以發佈執行此操作的代碼部分? –

+0

MoSync文檔顯示_maScreenSetOrientation()_折舊並使用_maScreenSetSupportedOritentaions()_來代替。我嘗試添加它,但它仍然沒有幫助。我現在更新了這個問題,以顯示錯誤的代碼行,並添加了一個鏈接到我的完整代碼。 –

+0

恐怕你將不得不進行更多的調試(註釋部分,看它是否適用於此),我個人認爲它與opengl繪圖不同的地方有關。 –

回答

0

它爲我

extern "C" int MAMain() { // Declare MAMain function as "C" 
maScreenSetSupportedOrientations(MA_SCREEN_ORIENTATION_LANDSCAPE); 
Moblet::run(new MyGLMoblet()); 
return 0; 

,而不是

void init() { // Screen Size 

    mWidth = EXTENT_X(maGetScrSize()); 
    mHeight = EXTENT_Y(maGetScrSize()); 

    maScreenSetSupportedOrientations(MA_SCREEN_ORIENTATION_PORTRAIT|MA_SCREEN_ORIENTATION_LANDSCAPE); 
    maScreenSetOrientation(MA_SCREEN_ORIENTATION_LANDSCAPE);