| 
| Tymonr | Дата: Суббота, 13 Июня 2015, 18:28 | Сообщение # 1 |  |   With OpenSource forever♥ Сейчас нет на сайте | Урок #3. С остальными можно ознакомиться по ссылке. 
 Данный урок практически полностью описан в официальном руководстве программиста в главе 2 «Базовые Cocos2d-x концепты» а так же является полностью обзорным – более подробно о каждом из описанных элементов можно прочитать в последующих уроках.
 Cocos2d обладает несколькими основными, и, разумеется множеством производных классов (Читай – объектов).
 Основными являются: Director, scene, node. Из основных наследуемыми от node элементами можно выделить: Layer, Label, sprite, menu; Так же очень важными понятиями являются родители/дети*[0], диспетчеры событий, график(дерево) сцены(scene graph), действия, пользовательские преопределения (UserDefault)
 
 Director представляет собой стержень, основу – это класс, хранящий данные о текущем состоянии приложения, используемых окнах и сценах, размере окна(экрана) и подобная базовая информация. В официальном руководстве в пример приводится схема:
 
 В данном случае демонстрируется функциональность Director’a как класса, переключающего активные сцены.
 Класс Director является чисто виртуальным, а его нестатические функции вызываются через метод getInstance();
 
 Scene представляет из себя, как ни странно, сцену, к которой «прикрепляются» (Читай пункт про детей/родителей) все внутриигровые объекты, является не столько техническим, сколько визуальным представлением для удобства программиста. Больше о сцене сказать нечего. Кроме того, что она тоже наследуется от node, но я выделил ее отдельно в силу ее специфического назначения.
 
 Node – является предком всех внутриигровых, «Интерактивных» объектов.
 Среди них:
 Menu и MenuElement – классы элементов пользовательского интерфейса, «Меню».
 Sprite – класс спрайта, основной элемент для отображения и передачи изображений
 Label – класс отображения текста, к нему можно применять
 Layer – слой, предназначен для объединения групп объектов, например: игровое поле, UI и слой эффектов.
 Уже упомянутая Scene.
 
 Родители/дети, или наследование – работает похожим способом, что и наследование в C++:
 Дети наследуют свойства родителей, а также все методы, вызываемые для родителей, вызываются и для детей.
 Пример наследования из официального руководства:
 
 
 Scene graph – система приоритетов вызова методов детей.
 
 При «наследовании» для ребенка выставляется параметр z-order’а – тот порядок, в котором будут вызываться методы детей (И детей их детей). Чем меньше значение, тем меньше будет приоритет. В т.ч. это касается функций прорисовки.
 
 Диспетчеры событий – наинеобходимейшая вещь для взаимодействия с пользователем. Это методы, вызываемые при происхождении определенных событий
 
 Действия – действия, выполняемые над объектами – движение в заданную точку, изменение прозрачности, вращение, удаление. Удобство этих методов том что пользователю(Программисту) нет необходимости отдельно выполнять лишние проверки и вызывать лишние функции во время выполнения действий.
 
 
 Класс UserDefault хранит значения, сохраненные с определенным ключом
 
 
 Код UserDefault::getInstance()->setStringForKey("string", "value1"); UserDefault::getInstance()->getStringForKey("string");
 [0] – В идеале это стоит называть наследованием, но дабы избежать путаницы с наследованием в самом коде называю системой родителей/детей
 
 
 
 Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы.
 Как правильно задавать вопросы в технических форумах
 
 
 Сообщение отредактировал Tymonr - Суббота, 13 Июня 2015, 18:33 |  |  |  |  |