2012-03-05 30 views
1

有什麼方法可以同步android中的2D和3D動畫。 讓我解釋一下: 我想使用表面視圖來運行一個正常的縮放/移動/動畫的Android小部件。 同時我想要一個使用Glsurface的3D立方體旋轉。Android 2d和3d同步化

我可以達到並行動畫效果嗎?

在此先感謝。

回答

0

這一切都取決於你如何實現動畫。可以將兩個動畫的持續時間設置爲完全相同,然後同時啓動它們。
據我所知沒有「AnimationProgress」偵聽器,您可以使用它來獲取2d動畫的進展情況,因此如果您需要兩個動畫的非常精確的同步,您可能最好是運行自己的動畫線程連續更新兩個對象的位置。

+0

但是2D和3D動畫的繪製流水線是不同的。 – sudipm 2012-03-06 09:34:34

+0

@sudipm true,但我認爲你有一些可以啓動動畫的全局控制器對象? – Jave 2012-03-06 09:38:57

+0

我可以使用GL表面視圖來實現此目的:對於2D動畫,從GLSurfaceView的曲面持有者中提取android.graphics.canvas並將其用於3D動畫:使用GLSurfaceView提供的GL上下文執行3D動畫.i使用一個線程運行2d和3d圖紙。我嘗試使用「eglWaitNative(EGL11.EGL_CORE_NATIVE_ENGINE,getHolder())」和「eglWaitGL()」來同步它們。但是,當運行我的android設備掛起以下消息:W/SharedBufferStack(1364):waitForCondition(DequeueCondition)超時(標識= 6,狀態= 0)。 CPU可能會被掛住。請幫助 – sudipm 2012-03-06 09:53:18