2012-02-27 68 views
0

我一直在試圖總結我解決這個頭,我還沒有發現在文檔或論壇,或者有什麼好解釋的,所以這裏有雲:如何CCSpriteBatchNode與CCAnimation結合?

我可以結合CCSpriteBatchNode與CCAnimations?如果是這樣,怎麼樣?你能給出一個代碼示例嗎?

我知道CCAnimation可以用來自幾個不同的緩存紋理(CCTexture2D/CCTextureCache)的幀來定義,但CCSpriteBatchNode只能指向一個紋理。

我猜,這相當於數個獨立的子問題:

  1. 我可以動畫雪碧我遞了爲孩子與CCAnimation一個CCSpriteBatchNode?這仍然會給我批量速度優勢嗎?而如果CCAnimation是指在不同的紋理幀將出現錯誤?

  2. 從理論上講,我可以定義與不同的紋理幀的動畫,因此他們將不得不從不同CCSpriteBatchNodes,是否正確?或者那是不可能的?

  3. 我可以在一個CCSpriteBatchNode上有幾個不同的精靈,每個都調用在該批處理節點上定義幀的CCAnimations,全部來自同一個CCSpriteBatchNode的Texture?

感謝任何人可以花一分鐘向我解釋這一點!

回答

0
  1. 您可以爲屬於CCSpriteBatchNode一部分的精靈創建動畫。你提到的「批量速度優勢」,那是什麼製成的OpenGL呼叫的數量。如果所有的精靈使用相同的CCSpriteBatchNode,然後你打較少的電話。您的CCAnimation基本上只是以延遲的順序播放精靈。您不能將精靈添加到不屬於相同紋理的CCSpriteBatchNode。這是你可以嘗試自己而不是問這個問題的事情。

  2. 我想你不明白CCSpriteBatchNodes & CCAnimations如何工作。他們是兩件不同的事情。您的動畫可以引用屬於不同紋理的精靈,但是如果您正在動畫的精靈位於spritebatchnode上,那麼只能使用具有該紋理的精靈來製作動畫。

3.是的。

你真的應該花一些時間閱讀cocos2d論壇以及其他教程,因爲這些都是基本問題。之後,你會更容易編碼。 也有關於cocos2d的幾本書涵蓋的基本面。

+0

謝謝Pterie,爲自己找到了。我曾閱讀過許多關於這個主題的文檔,唉,一旦你看到源代碼,技術差異的確切細節就會變得清晰。 – Averett 2012-04-12 21:10:14