2010-09-13 53 views
5

這是什麼所謂的(我應該google一下學期)翻轉/傾斜手機時,運行Android的時候,這樣的觀點旋轉的OpenGL

我(OpenGL的)應用程序崩潰我這樣做的時候,有沒有處理的OpenGL時,當這個occures你應該做一些特定的步驟?

有沒有別的東西我可能要考慮一下?

+0

rotate is字 – hhafez 2010-09-13 23:20:16

+0

也顯示我們的堆棧跟蹤 – hhafez 2010-09-13 23:20:42

回答

3

的問題是像時,屏幕取向變化發生時發生的配置改變。見Configuration Changes。你可能想告訴的Android,你將處理的方向改變自己,通過configChanges屬性。

0

你可以嘗試搜索「屏幕旋轉機器人」或「屏幕旋轉的android OpenGL的」因爲你正在試圖做3D。當屏幕旋轉時,當前表面被破壞,並且新的屏幕尺寸已經被創建。

我建議尋找一些示例代碼來查看處理屏幕旋轉的正確方法,在Android中查找「ApiDemos.apk」(通過這種方式開源),特別是使用GL的「,」他們都處理屏幕旋轉

5

如果您沒有爲處理自己的旋轉的活動設置AndroidManifest.xml的屬性,您的活動將重新啓動,GL上下文將被重新創建,並且至少,任何表面和緩衝區,你是使用將是無效的。

我GLES 1.1應用程序,我有我的AndroidManifest.xml中,指定我的應用程序活動希望通過keybo住在下面

並且該應用程序支持任何方向,但不希望它改變 - 因爲我不想處理重新加載紋理或重做遊戲佈局(還)

<application android:label="@string/app_name" 
      android:icon="@drawable/icon" 
      android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
      android:debuggable="true"> 
    <activity android:name="MainActivity" 
       android:configChanges="keyboard|keyboardHidden|orientation" 
       android:screenOrientation="nosensor" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application>