В данном руководстве вы узнаете о том, как создать простую игру с помощью Cocos2d-x 3.0 или более поздней версии в среде разработки Windows и как скомпилировать её для запуска в Windows и Android.

Cocos2d-x – кросс-платформенный фреймворк для игр (и других графических приложений, например, интерактивных книг), основанный на cocos2d для iOS, но вместо Objective-C использующий языки C++, JavaScript или Lua.
Одно из преимуществ этого фреймворка – возможность создания игр для разных платформ (Android, iOS, Win32, Windows Phone, Mac, Linux и другие). При этом основа программы остается той же – требуется лишь незначительная адаптация под конкретную платформу.
Консоль cocos2d-console появилась в версии 3.0. Это командная строка, предусматривающая те же функции, что и средства управления проектами в Cocos2d-x или Cocos2d-JS — создание, выполнение, построение, отладку и т.д.
1. Скачайте последнюю версию фреймворка и распакуйте архив. В данном руководстве использовалась версия 3.3rc0, а архив фреймворка был распакован на рабочий стол (C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0).

Структура директории Cocos2d-x версии 3.3 RC0
2. Чтобы создать в cocos2d-x новый проект, используйте setup.py (скрипт на языке Python), который находится в папке фреймворка. Он позволит конфигурировать все переменные среды для платформ Win32 и Android. Перед выполнением setup.py вам потребуется скачать, инсталлировать и конфигурировать следующие элементы:
Если вы не установили Python Runtime, скачайте версию 2.7.6 отсюда: www.python.org/download

Расположение setup.py
3. Откройте командную строку (cmd.exe) и выполните следующие команды:
– Перейдите в папку скрипта (папку фреймворка):
– Выполните скрипт setup.py:
Примечание: чтобы выполнить команду Python из командной строки, добавьте в переменную среды path папку, куда установлен Python. Скрипт потребует пути инсталляции для Android SDK, Android NDK и ANT.
– Папка Android NDK:

Cocos2d-console требует указания пути к папке NDK
– Путь к папке Android SDK:

Cocos2d-console требует пути к папке SDK
– Путь к папке Apache ANT:

Cocos2d-console требует пути к папке ANT
После указания всех путей снова откройте командную строку (cmd.exe). Это действие необходимо для использования команд cocos2d-console.
4. Наберите cmd.exe, чтобы выйти на командную строку (команды cocos2d-console можно вводить только здесь) и снова откройте папку фреймворка:
На следующем шаге мы создадим новый проект Cocos2d-x:

Создание проекта Cocos2d-x
Краткое пояснение параметров:
Если всё нормально, то проект создается в папке Project – в директории, куда был распакован фреймворк.

Структура директории MyGame
Созданный проект содержит базовый код игры (классы), ресурсы (изображения, аудио и т.д.) и по одному проекту для каждой поддерживаемой фреймворком платформы.
Требования:
Примечание: для создания Android-приложений Cocos2d-console использует команду javac, поэтому нужно добавить переменную среды JAVA_HOME (путь для JDK).
1. Мы будем компилировать игровую программу для нескольких архитектур, а фреймворк не компилирует по умолчанию для x86 и armeabi-v7a. Отредактируйте файл Application.mk в C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0\Project\MyGame\proj.android\jni

Расположение файла Application.mk
2. Добавьте в этот файл следующую строку:

Application.mk после добавления строки APP_ABI
Теперь, после добавления целевых архитектур, давайте скомпилируем нашу игру!
3. Используя подсказку командной строки, перейдите в папку фреймворка:
4. Выполните показанную ниже команду и запустите игру для Android:

Выполнение команды для компиляции и выполнения игры для Android
Примечание: если требуется только компиляция, введите:
Если всё работает правильно, то команда cocos2d-console будет использовать adb (если это задано в переменных среды) для инсталляции файла APK на подключённом устройстве или инициализированном эмуляторе. При их отсутствии команда будет ожидать доступности устройства или эмулятора, как показано ниже:

Команда ожидает устройства или инициализированного эмулятора
При наличии подключенного устройства или инициализированного эмулятора появится следующий экран:

Экран игровой программы на платформе Android
Нам потребуется Visual Studio 2012 или более поздняя версия.
1. Используя приглашение командной строки (cmd.exe), перейдите в папку, куда был распакован фреймворк:
2. Для компиляции и запуска игры на выполнение в среде Windows введите команду:

Выполнение команды компиляции и запуска игры в Windows
Кратко о параметрах:
Примечание: если требуется только компиляция, используйте “compile” вместо “run”, как в следующем примере:
Если всё работает правильно, то после выполнения команды run вы увидите следующий экран:

Экран игры на платформе Windows
Для компиляции и запуска проекта игры можно использовать Visual Studio:
1. В директории Project откройте файл Visual Studio MyGame.sln в папке “proj.win32”.

Структура директории проекта Win32
2. Для компиляции проекта нажмите F6 (или используйте меню Build -> Build Solution) и F5 для его запуска (либо меню Debug -> Start Debugging). После построения и выполнения вы должны увидеть тот же экран, что и после выполнения шагов для консоли.

Проект Win32, открытый в Visual Studio
Итак, теперь вы знаете, как создать и скомпилировать игру для Android (x86 и ARM), Windows 7 и Windows 8 (в режиме десктопа), браво :)
В настоящее время в версии Cocos2d-x 3.3 есть проблема – инструментарий не позволяет создавать проекты (подробности здесь). Эта проблема исправлена в последней предварительной редакции, но в последнем релизе Cocos2d-x пока остается.
Подробности по оптимизации компиляции смотрите в наших замечаниях по оптимизации.
» Исходный код фреймворка Cocos2d-x доступен по лицензии MIT License, а скачать его можно здесь.
» Cocos2d-x и документация по нему
» Консоль cocos2d-console

Что такое Cocos2d-x?
Cocos2d-x – кросс-платформенный фреймворк для игр (и других графических приложений, например, интерактивных книг), основанный на cocos2d для iOS, но вместо Objective-C использующий языки C++, JavaScript или Lua.
Одно из преимуществ этого фреймворка – возможность создания игр для разных платформ (Android, iOS, Win32, Windows Phone, Mac, Linux и другие). При этом основа программы остается той же – требуется лишь незначительная адаптация под конкретную платформу.
Консоль Cocos2d-x
Консоль cocos2d-console появилась в версии 3.0. Это командная строка, предусматривающая те же функции, что и средства управления проектами в Cocos2d-x или Cocos2d-JS — создание, выполнение, построение, отладку и т.д.
Создаём свою первую игру
1. Скачайте последнюю версию фреймворка и распакуйте архив. В данном руководстве использовалась версия 3.3rc0, а архив фреймворка был распакован на рабочий стол (C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0).

Структура директории Cocos2d-x версии 3.3 RC0
2. Чтобы создать в cocos2d-x новый проект, используйте setup.py (скрипт на языке Python), который находится в папке фреймворка. Он позволит конфигурировать все переменные среды для платформ Win32 и Android. Перед выполнением setup.py вам потребуется скачать, инсталлировать и конфигурировать следующие элементы:
Если вы не установили Python Runtime, скачайте версию 2.7.6 отсюда: www.python.org/download

Расположение setup.py
3. Откройте командную строку (cmd.exe) и выполните следующие команды:
– Перейдите в папку скрипта (папку фреймворка):
cd C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0
– Выполните скрипт setup.py:
python setup.py (or setup.py only)
Примечание: чтобы выполнить команду Python из командной строки, добавьте в переменную среды path папку, куда установлен Python. Скрипт потребует пути инсталляции для Android SDK, Android NDK и ANT.
– Папка Android NDK:

Cocos2d-console требует указания пути к папке NDK
– Путь к папке Android SDK:

Cocos2d-console требует пути к папке SDK
– Путь к папке Apache ANT:

Cocos2d-console требует пути к папке ANT
После указания всех путей снова откройте командную строку (cmd.exe). Это действие необходимо для использования команд cocos2d-console.
4. Наберите cmd.exe, чтобы выйти на командную строку (команды cocos2d-console можно вводить только здесь) и снова откройте папку фреймворка:
cd C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0
На следующем шаге мы создадим новый проект Cocos2d-x:
cocos new MyGame –p com.Project.MyGame –l cpp –d Project

Создание проекта Cocos2d-x
Краткое пояснение параметров:
- new: создаёт новый проект; за ним должно следовать имя проекта (в данном примере -MyGame);
- -p: задаёт имя пакета;
- -l: выбирает язык программирования; значением может быть cpp или lua;
- -d: директория, в которой фреймворк создаёт структуру проекта.
Если всё нормально, то проект создается в папке Project – в директории, куда был распакован фреймворк.

Структура директории MyGame
Созданный проект содержит базовый код игры (классы), ресурсы (изображения, аудио и т.д.) и по одному проекту для каждой поддерживаемой фреймворком платформы.
Создаём Android-приложение
Требования:
- Для создания игровых приложений для Android вам нужно конфигурировать все переменные среды (Android SDK, Android NDK и ANT). Если вы ещё не выполнили этот шаг, смотрите выше раздел «Создаём свою первую игру».
- Установленный Java Development Kit (JDK)
Примечание: для создания Android-приложений Cocos2d-console использует команду javac, поэтому нужно добавить переменную среды JAVA_HOME (путь для JDK).
1. Мы будем компилировать игровую программу для нескольких архитектур, а фреймворк не компилирует по умолчанию для x86 и armeabi-v7a. Отредактируйте файл Application.mk в C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0\Project\MyGame\proj.android\jni

Расположение файла Application.mk
2. Добавьте в этот файл следующую строку:
APP_ABI := armeabi armeabi-v7a x86

Application.mk после добавления строки APP_ABI
Теперь, после добавления целевых архитектур, давайте скомпилируем нашу игру!
3. Используя подсказку командной строки, перейдите в папку фреймворка:
cd C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0
4. Выполните показанную ниже команду и запустите игру для Android:
cocos run –s Project\MyGame –p android

Выполнение команды для компиляции и выполнения игры для Android
- run: компилирует и выполняет проект;
- -s: путь к папке проекта;
- -p: выбранная платформа.
Примечание: если требуется только компиляция, введите:
cocos compile –s Project\MyGame –p android
Если всё работает правильно, то команда cocos2d-console будет использовать adb (если это задано в переменных среды) для инсталляции файла APK на подключённом устройстве или инициализированном эмуляторе. При их отсутствии команда будет ожидать доступности устройства или эмулятора, как показано ниже:

Команда ожидает устройства или инициализированного эмулятора
При наличии подключенного устройства или инициализированного эмулятора появится следующий экран:

Экран игровой программы на платформе Android
Создание приложений Win32 (для ПК под Windows 7 или Windows 8)
Нам потребуется Visual Studio 2012 или более поздняя версия.
1. Используя приглашение командной строки (cmd.exe), перейдите в папку, куда был распакован фреймворк:
cd C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0
2. Для компиляции и запуска игры на выполнение в среде Windows введите команду:
cocos run –s Project\MyGame –p win32

Выполнение команды компиляции и запуска игры в Windows
Кратко о параметрах:
- run: компиляция и запуск на выполнение выбранного проекта
- -s: путь к папке проекта
- -p: выбранная платформа
Примечание: если требуется только компиляция, используйте “compile” вместо “run”, как в следующем примере:
cocos compile –s Project\MyGame –p win32
Если всё работает правильно, то после выполнения команды run вы увидите следующий экран:

Экран игры на платформе Windows
Для компиляции и запуска проекта игры можно использовать Visual Studio:
1. В директории Project откройте файл Visual Studio MyGame.sln в папке “proj.win32”.

Структура директории проекта Win32
2. Для компиляции проекта нажмите F6 (или используйте меню Build -> Build Solution) и F5 для его запуска (либо меню Debug -> Start Debugging). После построения и выполнения вы должны увидеть тот же экран, что и после выполнения шагов для консоли.

Проект Win32, открытый в Visual Studio
Итак, теперь вы знаете, как создать и скомпилировать игру для Android (x86 и ARM), Windows 7 и Windows 8 (в режиме десктопа), браво :)
Чуть не забыли
В настоящее время в версии Cocos2d-x 3.3 есть проблема – инструментарий не позволяет создавать проекты (подробности здесь). Эта проблема исправлена в последней предварительной редакции, но в последнем релизе Cocos2d-x пока остается.
Подробности по оптимизации компиляции смотрите в наших замечаниях по оптимизации.
Хозяйке на заметку
» Исходный код фреймворка Cocos2d-x доступен по лицензии MIT License, а скачать его можно здесь.
» Cocos2d-x и документация по нему
» Консоль cocos2d-console