2011-09-07 44 views
0

我有這個我的小遊戲,它由主屏幕和主屏幕頂部屏幕上顯示的不少「窗口」組成。 在大多數情況下,它只是一個窗口[超過屏幕的90%],有時窗口會打開另一個窗口。 現在,我的主屏幕是一個圖層,我擁有的每個窗口都是一個CCNode,我可以從圖層中添加和刪除。 我沒有真正在我的節點上使用任何觸摸檢測。如果我想要可觸摸的東西,它將是一個CCMenu。 我確實有很多CCSprites被添加,如果有什麼要做的話。 我在想,如果這是一個很好的[性能明智]的方式去?換句話說,如果有一個基本原理可以改變我必須讓每個窗口作爲一個圖層。Cocos2d:單層還是增加節點更好還是多層更好?

回答

4

據我所知,使用多個層,而不是單層的兩個最重要的好處是觸摸檢測和Z排序:

  1. 觸摸檢測:採用多層使得它更容易使用觸摸檢測邏輯,它利用層次層次結構,因爲cocos2d引擎根據層次結構將所有觸摸事件依次傳遞給層。

  2. Z排序:對於場景中的某些子畫面總是在其他子畫面的前,使用多個層使得它更容易執行該z排序而不是使用單層時ZORDER參數修補。

IMO沒有太大的區別表現明智使用單層和多層,之間,如果你在同一時間在屏幕上大量的精靈,特別是如果有大量重複的精靈,我會強烈推薦使用CCSpriteBatchNode(以前稱爲Texture Atlas或CCSpriteSheet),它是在處理大量精靈時提高遊戲性能的recommended cocos2d method,所以我認爲帶精靈批量節點的單層在性能方面更好,個別精靈直接添加到圖層中。

相關問題