Как объединить CCSpriteBatchNode с CCAnimation? - PullRequest
0 голосов
/ 28 февраля 2012

Я пытался обернуть голову вокруг этого, и я не нашел никакого хорошего объяснения в документах, на форуме или здесь, вот так:

Могу ли я объединить CCSpriteBatchNodeс CCAnimations?Если так, то как?Можете ли вы привести пример кода?

Я понимаю, что CCAnimation может быть определен с кадрами из нескольких различных кэшированных текстур (CCTexture2D / CCTextureCache), но CCSpriteBatchNode должен ссылаться только на одну текстуру.

Я полагаю, что это составляет несколько отдельных подвопросов:

  1. Могу ли я анимировать Sprite, который я передал как дочерний элемент CCSpriteBatchNode с помощью CCAnimation?Это все еще даст мне преимущество в скорости партии?И произойдет ли ошибка, если CCAnimation ссылается на кадры на отдельных текстурах?

  2. Теоретически я мог бы определить анимацию с кадрами из разных текстур, следовательно, они должны быть из разных CCSpriteBatchNodes, правильный?Или это невозможно?

  3. Могу ли я иметь несколько разных спрайтов на одном CCSpriteBatchNode, каждый из которых вызывает CCAnimations, чьи кадры определены на этом узле Batch, все из одной текстуры CCSpriteBatchNode?

Спасибо всем, кто может потратить минуту, чтобы объяснить это мне!

1 Ответ

0 голосов
/ 12 апреля 2012
  1. Вы можете анимировать спрайт, который является частью CCSpriteBatchNode. То, что вы называете «преимуществом пакетной скорости», - это количество вызовов opengl. Если все ваши спрайты используют один и тот же CCSpriteBatchNode, то вы делаете меньше вызовов. Ваша CCAnimation в основном просто воспроизводит спрайты в последовательности с задержкой. Вы не можете добавить спрайт к CCSpriteBatchNode, который не является частью той же текстуры. Это то, что вы можете попробовать сами, вместо того, чтобы задавать этот вопрос.

  2. Я думаю, вы не понимаете, как работают CCSpriteBatchNodes и CCAnimations. Это две разные вещи. Ваша анимация может относиться к спрайтам, которые являются частью различных текстур, но если анимируемый вами спрайт находится на spritebatchnode, то вы должны анимировать его только с помощью спрайтов этой текстуры.

3.Yes.

Вы действительно должны потратить некоторое время на чтение форумов cocos2d, а также на другие учебные пособия, так как это фундаментальные вопросы. После этого вам будет гораздо легче кодировать. Есть также несколько книг по cocos2d, которые охватывают основы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...