Very Basic cocos 2d вопросы - PullRequest
       13

Very Basic cocos 2d вопросы

2 голосов
/ 05 июня 2011

Я новичок в cocos2d, поэтому меня немного смущают некоторые вещи:

  1. Термин «ребенок» продолжает появляться.Сначала я думал, что это подкласс, теперь я воспринимаю это как динамическую переменную экземпляра?Может кто-нибудь объяснить это немного лучше?

  2. Класс CCSpriteBatchNode - это некий массив CCSprites, который вызывает метод, который визуализирует графическую часть своих элементов / дочерних элементов изспрайт лист.Является ли мое объяснение несколько правильным?

  3. В моей книге (изучение кокосов 2d, руководство для начинающих) показана схема разработки, в которой CCSpriteBatchNode имеет несколько объектов в качестве детей.Я немного сбит с толку, потому что я привык отделять классы рисования от логических классов, AKA "Разделение задач".Cocos2d это не соблюдает, и мы тоже не должны?

1 Ответ

2 голосов
/ 05 июня 2011
  1. Parent-child - это просто связь между CCNode и их подклассами в cocos2d. Например, если вы хотите, чтобы луна вращалась вокруг движущейся планеты, очень трудно рассчитать абсолютный путь луны. Но вы можете сделать его ребенком планеты, и в этом случае его положение, вращение и т. Д. Будет зависеть от координат планеты. Таким образом, отношения между родителями и детьми просто группируются.

  2. CCSpriteBatchNode является родительским для всех своих дочерних элементов, но положение его дочерних элементов относительно родительского CCSpriteBatchNode. Такой подход используется потому, что BatchNode рендерит все свои дочерние элементы одновременно. Это сделано для увеличения производительности (без переключения текстур).

  3. Пакетный рендеринг быстрее. Если ваша логика хороша, CCSpriteBatchNode не делает это хуже. Например, у вас может быть персонаж с телом, руками и ногами, и вы хотите визуализировать его с помощью BatchNode. Вы просто добавляете тело как ребенок в BatchNode, затем добавляете руки и ноги как дети к телу. Логика сохранена, производительность увеличена.

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