2011-04-18 33 views
1

我期待優化我的程序的性能。AS3 Papervision3D飛機上的接入材料

關閉蝙蝠我已經設置階段質量中(如果我把它設置爲低一半我的movieclips不呈現)。這有幫助,但我想要更多!

我在P3D Essentials書中讀到的提示是在不需要的時候轉動動畫材質。神奇的想法,但不解釋如何。

當我創建一個材質時,我可以設置material.animated = false並且工作正常,但在另一個函數中,我無法訪問我的原始材質。像plane.material.animated = false這樣簡單的事情返回一個空例外。那麼如何在我的基元上動態地打開/關閉動畫材質呢?

+0

PV3D項目已經死亡。使用Away3D。 – 2011-04-18 20:49:32

+0

一些證明:http://unitzeroone.com/blog/2009/09/28/goodbye-papervision/。 – 2011-04-18 20:59:45

+0

幾乎沒有證據。核心團隊之一離開。然而[博客](http://blog.papervision3d.org/)自2010年7月以來尚未更新,[dev網站](http://dev.papervision3d.org/)正式發佈於2009年6月。[Google代碼](http://code.google.com/p/papervision3d/)於2011年3月更新,不過...我想我會在下一個項目中看看Away3D,因爲這個項目已完成95%。 – 2011-04-19 09:04:14

回答

0

通過API來看,這似乎是不可能的。但是,我可以通過改善性能來移除不可見的對象,例如如果一架飛機完全隱藏在另一架飛機後面,則不要顯示(渲染)它。這正是我試圖用我原來的問題來實現的......

我把所有的飛機都放在一個數組中。

//make all the planes invisible. Don't want to render them 
for(var i = 0; i< planes.length(); i++) 
{ 
    planes[i].visible = false; 
} 
//show the first plane so we have **something** to see 
planes[0].visible = true; 

這對我的作品,因爲我知道,只有一個平面會顯示在一個時間(除非它轉變到下一個平面,在這種情況下,我做面可見,當電流飛機已經完成過渡,我隱藏了)。