2012-03-07 50 views
0

我有一個Away3D 4.0應用程序,它使用舊版Flash顯示API製作的UI,只能部分硬件加速。Away3D與Starling

在PC上工作正常,但移動設備上UI的幀頻太低,因此我將它移植到Starling。

所以,我試圖同時使用的Away3D和椋鳥,但他們不在一起工作(它編譯但也有運行時錯誤)。我需要改變什麼?特別地或通常用於另一個2D庫,例如ND2D。有沒有支持這個開箱即用的庫?

編輯:首先我添加Away3D內容並且沒有錯誤。當初始化Starling時,錯誤發生在線249上的Starling.as(一個庫類)。我也嘗試this作爲有人建議,但沒有任何區別(也是信息是3個月,圖書館正在更新)。

編輯2:錯誤是由於在Away3D中有不同的enableDepthAndStencil值造成的,因爲它在Sparling中硬編碼爲false,因爲它並不真正需要它。那麼,在「解決」這個問題之後,就沒有運行時錯誤:離開3D內容顯示,但是我添加了Starling並且畫布變成了黑色。我想我將不得不潛入Away3D的來源。

+1

只是告訴你有錯誤不會解決你的問題。請更新您的問題並添加有關運行時錯誤代碼的詳細信息以及何時/如何發生。也歡迎任何代碼行。 – 2012-03-07 14:48:33

+0

你得到的實際錯誤信息是什麼? – 2012-03-09 14:41:06

回答

1

我把它按照此comment說明和一算賬工作(另外只有在updateViewPort()改變enableDepthAndStenciltrueStarling.as)。

1

您可以在他們的github存儲庫中查看starling庫的源代碼。 這裏是對Starling.as文件的鏈接> https://github.com/PrimaryFeather/Starling-Framework/blob/master/starling/src/starling/core/Starling.as

Starling的方法時拋出一個錯誤是這樣的:

 private function updateViewPort():void 
     { 
      if (mContext) 
       mContext.configureBackBuffer(mViewPort.width, mViewPort.height, mAntiAliasing, false); 

      mStage3D.x = mViewPort.x; 
      mStage3D.y = mViewPort.y; 
     } 

從該看看你應該能夠刪除此代碼移動設備,因爲您的使用將無法調整視口大小。 爲此,請從github存儲庫下載庫,而不是在Starling網站上使用swc。 https://github.com/PrimaryFeather/Starling-Framework 然後,您可以自定義您的Starling版本以與Away3D兼容。