Книга cocos2d, Глава 5: Получение, больше и лучше

23 июля 2010, в Объявлениях, книге, Штеффеном Иттераймом by Steffen Itterheim

Глава 5 – Получение больше и лучше

Суть этой главы должна будет обсудить простой проект игры из предыдущей главы. Я бросил все в один класс, ясно не, что Вы хотите сделать для больших игр. Но получение от одного класса до реального кодового дизайна - большой шаг, который некоторые смущаются делать. Я сделаю это легче и буду обсуждать общие вопросы и их решения, такой как, что к seperate, что подклассифицировать от и как у Вас могут быть все объекты seperated, общаются друг с другом и обменивают информацию различными способами. But getting from one-class to real code design is a big step which some hesitate to take. I’ll make that easier and discuss common issues and their solutions, such as what to seperate, what to subclass from and how you can have all the seperated objects communicate with each other and exchange information in various ways.

Большая тема, конечно, будет то, как использовать в своих интересах cocos2d’s иерархию сцены и какие ловушки это может иметь, перемещаясь от игры единственного слоя до того, у которого есть многократные слои и даже многократные сцены.

Что касается названия главы я не настолько уверен, если это будет им. Возможно по пути, в то время как я пишу, что изменю это. Приветствие предложений! Suggestions welcome!

В пятницу, 30-ого июля будет представлена глава.

Каково Ваше взятие на хорошей кодовой структуре cocos2d?

Вы когда-либо боролись с cocos2d концепциями проекта? Или cocos2d иерархия сцены? Или как к расположению сцена и делят Вашу игру на логические части? Скажите мне об этом. Or how to layout a scene and divide your game into logical parts? Tell me about it.

Я знаю, что вопросы о тезисах являются несколько родовыми, чтобы спросить. Именно о вещах не чувствуют себя хорошо, но там, кажется, не лучший, более очевидный путь. Я думаю, что все мы знаем некоторых из тех, если Вы делаете, убедиться, что сказали мне! Оставьте комментарий или напишите мне электронную почту. I think we all know some of those, if you do, be sure to tell me! Leave a comment or write me an email.

Резюме работы над Главой 4 – Сначала простая игра

Игру, которую я хотел делать, называют Снижением Болвана и особенностями, понижающими пауков, и акселерометр управлял иностранцем, пытающимся избегать пауков. В целом это было разделено на 8 конкретных шагов. Партии и много кодовых комментариев, также. Lots and lots of code comments, too.

Это начинает достаточно простые, добавляющие ресурсы к Xcode и добавляющих эльфов. Это получает больше геймплея-esque, когда управляемые акселерометром средства управления игрока щипнули, чтобы обеспечить ускорение и замедление объекта игрока. Напротив, движения пауков стимулируют только действия. In contrast, the spiders movements are driven only by actions.

Я представляю Вас двум недокументированной функциональности cocos2d, а именно, CCArray, который является с тех пор v0.99.4, имел обыкновение хранить всех детей узла. Другой класс CGPointExtension, у которого есть все функции, обычно обеспечиваемые двигателем физики, однако не, каждая игра должна связать двигатель физики только, потому что каждый нуждается в тех математических функциях. Именно поэтому CGPointExtension пригождается. That’s why CGPointExtension comes in handy.

С ccpDistance методом сделаны проверки столкновения. Простые радиальные столкновения, и в режиме отладки радиусы столкновения оттянуты также.

Промежуточный CCLabel для счета был заменен CCBitmapFontAtlas, потому что это убило framerate. Я коротко упоминал Хиро и как использовать это в принципе, но для всех деталей не было никакой комнаты. Но в то время как я был в этом, я создал Обучающую программу Hiero. But while I was at it I created the Hiero Tutorial.

В конце проекта я добавил некоторый блеск, который не описан в книге (слишком много деталей), но действительно добавляет к взгляду игры и чувству. Снижение пауков, висите в там, затем зарядите перед опущением, всеми сделанными действиями использования. Я также добавил нить, которую они вешают от использования ccDrawLine. И затем есть игра закончена лейбл который шоу даже больше использования действия. I’ve also added the thread they’re hanging from using ccDrawLine. And then there’s a game over label which shows even more action use.

Один из принципов, за которыми я следовал, должен избежать неподвижных координат в максимально возможной степени. Таким образом, проект, когда-то законченный, действительно бежал очень хорошо на iPad. Хотя опыт - различный, есть больше понижения пауков, и они понижаются быстрее, но есть также более безопасное пространство, чтобы маневрировать к. Although the experience is a different one, there’s more spiders dropping and they drop faster but there’s also more safe space to maneuver to.

Об и, искусство игры - вся шахта. Да, я знаю …, но у Пауков человека действительно есть только шесть ног! :)

Книга cocos2d, Глава 4: Сначала Простая Игра

17 июля 2010, в Объявлениях, книге, cocos2d, Штеффеном Иттераймом by Steffen Itterheim

Глава 4 – Сначала Простая Игра

После того, как Глава 3 касалась основных принципов cocos2d двигателя игры, эта глава введет в использование, что Вы изучили. Простая игра - все о понижающихся врагах, которых Вы должны избежать через средства управления за акселерометром. Вид подобных обратный Скачок Болвана. Но это не примерно геймплей непосредственно, я хочу, чтобы игра была разумно полна главного меню, переходов сцены, игра закончена и конечно аудио. Sort of like an inverse Doodle Jump. But it’s not just about the gameplay itself, I want the game to be reasonably complete with a main menu, scene transitions, game over and of course audio.

В пятницу, 23-ьего июля будет представлена глава.

У Вас есть какие-либо предложения для игры?

То, что делает Вы думаете, должно быть в первой cocos2d игре? Сообщите мне!

Резюме работы над Главой 3 – Основы

Когда я начал главу, я не был действительно уверен в ее центре, и продвижение было немного медленным. В конечном счете это щелкало, и я закончил написавший больше страниц чем необходимый и все еще иметь большое число в запасе невыразимых вещей. Ключ смотрел на cocos2d API справочная документация и помнил то, на что это походило, когда я был новичком. Несомненно, каждый класс, метод и собственность там, но в течение начала cocos2d разработчик, ссылка API - только огромный список имен. Другими словами, если Ваш опыт был или является чем-нибудь как мой, был, печально работать со ссылкой API. The key was looking at the cocos2d API reference documentation and remembering what it was like when I was a beginner. Sure, every class, method and property is there but for a beginning cocos2d developer the API reference is just a huge list of names. In other words, if your experience was or is anything like mine was, it’s frustrating to work with the API reference.

Я заканчивал тем, что писал о cocos2d машинном дизайне и его графе сцены сначала, остающиеся 80 % главы объясняют подробно с большим количеством кодовых образцов, как использовать, те чинят классы CCNode. Все важные покрыты: CCNode, CCScene, CCLayer, CCSprite, CCLabel, CCMenu, CCMenuItem* так же как Директор, Переходы и Действия. Помимо кодовых образцов и с практическими рекомендациями я добавил многочисленные протесты, частые ошибки, лучшие методы и другие узлы, которые настолько необходимы, чтобы сделать любую документацию полной. CCNode, CCScene, CCLayer, CCSprite, CCLabel, CCMenu, CCMenuItem* as well as the Director, Transitions and Actions. Besides the code samples and how-to I’ve added numerous caveats, common mistakes, best practices and other nodes which are so very much needed to make any documentation complete.

Например, как Слои лучше всего используются для того, чтобы собрать в группу другие узлы и конечно как позволить прикосновение и акселерометр, введенный, добавляя необходимые функции, которые не упомянуты в ссылке API, так как они - часть iPhone SDK API. Есть также некоторая странная рекомендация, плавающая вокруг, чтобы не использовать слишком много Слоев, потому что они являются медленными. Я не могу найти источник, но что я действительно находил, был то, что это только верно, если Layers позволяют прикосновение или вход акселерометра, потому что это - то, что стоит большой работы. Таким образом, то, что Вы не хотите иметь, является несколькими входами принятия слоев, иначе используйте так много Слоев, как Вы нуждаетесь – который не должен быть многими так или иначе. И если Вы действительно нуждаетесь в многократном входе принятия Слоев, почему не только используют один основной Слой (возможно использующий Предназначенного укладчика Прикосновения) который вперед входные события соответственно к другим Слоям? I can’t find the source but what I did find was that this is only true if the Layers enable touch or accelerometer input, because that’s what costs a lot of performance. So what you don’t want to have is several layers accepting input, otherwise use as many Layers as you need – which shouldn’t be many anyway. And if you do need multiple Layers accepting input, why not just use one master Layer (possibly using a Targeted Touch handler) which forwards the input events appropriately to the other Layers?

Книга cocos2d, Глава 2: Начало

2 июля 2010, в Объявлениях, книге, cocos2d, Штеффеном Иттераймом by Steffen Itterheim

Глава 2 – Начинание

Эта глава начинается с обычных предпосылок. Загрузите и установите iPhone SDK и cocos2d. Монтаж cocos2d Шаблоны. Создание первого проекта от cocos2d проектирует шаблон. Installing cocos2d Templates. Creating the first project from a cocos2d project template.

Из того, что я уже написал, что оцениваю, что это будет приблизительно одной третью главы. Я думаю, что было бы самым интересным в этой главе, должен говорить об общей кодовой структуре проектов cocos2d. Основные элементы как Сцены, Слои и Узлы. Как перейти от одного экрана до другого, чтобы видеть, что мы фактически делаем что-то прохладное с небольшим усилием. Для этого я думаю, что запланированные отборщики должны также быть представлены переходам времени, и одним экраном мог бы быть Слой, который ждет входа прикосновения, чтобы продвинуться к следующему экрану. The basic elements like Scenes, Layers and Nodes. How to transition from one screen to another, to see that we’re actually doing something cool with little effort. For that I think the scheduled selectors should also be introduced to time transitions, and one screen might be a Layer which is waiting for touch input to advance to the next screen.

Это могло бы также быть хорошее место, чтобы обсудить cocos2d управление памятью, как статический автовыпуск initializers, и удостоверяющийся называют dealloc, когда Вы переключаете сцены – иначе у Вас, очевидно, есть утечка памяти.

Цель состоит в том, чтобы получить читателя в положение, где он чувствует себя комфортно, выкладывая структуру экрана в cocos2d. Он знает, как калибровать объекты и как добавить и удалить их из сцены. Фонд работы с cocos2d, если Вы так будете. The foundation of working with cocos2d if you so will.

То, что делает Вы думаете, должно быть в Главе 2?

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

Также я приветствовал бы любые подсказки, и распространенные ошибки в первый раз cocos2d разработчики могли бы заманить себя в ловушку в. Опытные подсказки также приветствуются, те небольшие противные вещи или привычки, которые могли укусить Вас позже, если Вы не рассматриваете их с начала.

Я с нетерпением жду Вашей обратной связи! Ранее лучше. Глава 2 будет представлена затем пятница, 9-ого июля. Chapter 2 will be submitted next Friday, July 9th.

Что запланировано Главу после этого

Только, чтобы поместить Главу 2 в контекст, для Главы 3 я планирую говорить о существенных cocos2d классах и процессах. Эльфы, Лейблы, Меню, Действия, и т.д. Это покажет Вам, как работать с ними использующий маленькие фрагменты кода. У главы, вероятно, будет "справочный" характер с различными кодовыми образцами, так, чтобы опытные пользователи чувствовали себя комфортно, пропуская вперед, в то время как новички все еще считают это легким и ободрительным, чтобы поднять детали. It’ll show you how to work with them using small code snippets. The chapter will probably have a “reference” character with various code samples, so that experienced users feel comfortable skipping ahead while beginners still find it easy and encouraging to pick up the details.