Как установить cocos2dx в Windows
Обновлено: 21.11.2024
Это руководство по настройке Cocos2d-x для разработки под Windows и Android в Windows.
Последнее обновление: 16 ноября 2011 г.
Окна
Создать cocos2d для Windows довольно просто:
Андроид
Требования
- Eclipse (с подключаемым модулем CDT)
- Установлен JDK (Java SE 6, обновление 26). Я рекомендую загрузить версию x86. Обратите внимание, что Java SE 7 не будет работать.
- Установлен подключаемый модуль ADT для Eclipse (Примечание: если r7 не может скомпилировать Cocos2d-x, попробуйте использовать предыдущий NDK версии r6b)
Установите MinGW/MSYS
Установите MinGW и MSYS в соответствии с этим руководством:
Как установить MinGW, MSYS и Eclipse в Windows
(не забудьте также установить подключаемый модуль ADT)
Не нужно устанавливать Cygwin 😉
Сборка Cocos2d-x (MSYS/NDK)
Местоположения моих файлов (распакуйте SDK и NDK в эти места)
- NDK: C:\Development\android-ndk-r6b
- SDK: C:\Development\android-sdk-windows
- Исходное местоположение (git): D:\projects\Github\cocos2d-x
Установите корневой каталог NDK и корневой путь COCOS2DX
Откройте эти файлы:
- D:\projects\Github\cocos2d-x\HelloLua\android\build_native.sh
- D:\projects\Github\cocos2d-x\HelloWorld\android\build_native.sh
- D:\projects\Github\cocos2d-x\tests\test.android\build_native.sh
Запустите скрипты сборки
Откройте Msys и используйте следующие команды в терминале для сборки проектов:
Создать проект HelloLua
cd /d/projects/Github/cocos2d-x/HelloLua/android/ ./build_native.sh
Создать проект HelloWorld
cd /d/projects/Github/cocos2d-x/HelloWorld/android ./build_native.sh
Проект тестов сборки
cd /d/projects/Github/cocos2d-x/tests/test.android ./build_native.sh
Создание примера тестов может занять некоторое время. По завершении вы должны увидеть это:
Импорт проектов (Eclipse/SDK)
Откройте eclipse
Создайте новую рабочую область в папке D:\projects\Github\cocos2d-x\android
Создайте новый проект Android
Пример HelloWorld
Создать Android-проект
- Задайте имя проекта: HelloWorld
- Снять галочку: местоположение по умолчанию
- Нажмите: Создать проект из существующего источника
- Укажите местоположение: D:\projects\Github\cocos2d-x\HelloWorld\android
- Нажмите "Далее".
Выбрать цель сборки
Информация о приложении
- Установить приложение: HelloWorld
- Задайте имя пакета: org.cocos2dx.helloworld
- Нажмите "Готово".
пример тестов
Создать Android-проект
- Задайте имя проекта: тесты
- Снять галочку: местоположение по умолчанию
- Нажмите: Создать проект из существующего источника
- Укажите местоположение: D:\projects\Github\cocos2d-x\tests\test.android
- Нажмите "Далее".
Выбрать цель сборки
Информация о приложении
- Установить приложение: тесты
- Задайте имя пакета: org.cocos2dx.tests
- Нажмите "Готово".
Пример HelloLua
Создать Android-проект
- Задайте имя проекта: HelloLua
- Снять галочку: местоположение по умолчанию
- Нажмите: Создать проект из существующего источника
- Укажите местоположение: D:\projects\Github\cocos2d-x\HelloLua\android
- Нажмите "Далее".
Выбрать цель сборки
Информация о приложении
- Установить приложение: HelloLua
- Задайте имя пакета: org.cocos2dx.hellolua
- Нажмите "Готово".
Исправление кода Java
Все проекты теперь должны быть доступны в проводнике пакетов. Однако HelloLua и HelloWorld могут показывать красные кресты. Вам нужно будет изменить несколько файлов .java. Все, что вам нужно сделать, это удалить все строки с @Override .
Соберите APK и запустите
- Нажмите на название проекта в проводнике пакетов (например, HelloWorld или тесты).
- Нажмите на зеленую стрелку.
- Выберите приложение для Android.
- Нажмите "ОК".
Если ваше устройство подключено к компьютеру, eclipse создаст APK-файл и установит его на ваш телефон/планшет. Если устройство не найдено, эмулятор запустится.
Эмулятор
Запуск Hello World
Выполнение тестов
Добавить в закладки и поделиться
34 комментария
Я получаю сообщение об ошибке, когда пытаюсь скомпилировать HelloLua.sh, HelloWorld.sh и test.android. mysys выдает ошибку в строке 1 и строке 2 с неожиданным концом файла. Выполнил шаги несколько раз, чтобы проверить, и все выглядит правильно. работает в Windows 7.
Надеюсь, это поможет.
Спасибо, Марсио, за публикацию решения!
Помощь..Как мне «установить корневой путь NDK и корневой путь COCOS2DX»?
Я установил переменные среды, но думаю, что это неправильно..
Потому что он возвращает ошибку при вызове build_native.sh с использованием msys..
спасибо..
Здравствуйте, Андрес, вам не нужно устанавливать эти два значения в качестве переменных среды. Вам нужно только изменить скрипты сборки (build_native.sh) и изменить путь в этих файлах.
Привет, Лоуренс, я даже не могу открыть build_native.sh, мне нужно что-то установить? спасибо.
Не удается собрать build_native.sh
Я продолжаю получать сообщение «строка 41: ./ndk-build: нет такого файла или каталога»
Пожалуйста, посоветуйте. Спасибо!
Попробуйте использовать NDK_ROOT_LOCAL вместо ANDROID_NDK_ROOT при определении пути NDK.
Я столкнулся с этими ошибками при сборке HelloLua на MinGW с использованием build_native.sh
jni/../../Classes/../../lua/cocos2dx_support/CCLuaEngine.cpp: В функции-члене 'virtual int cocos2d::CCLuaEngine::executeFunctionByRefID(int, int)':
jni/../../Classes/../../lua/cocos2dx_support/CCLuaEngine.cpp:183: ошибка: обработка исключений отключена, используйте -fexceptions для включения
jni/../../ Classes/../../lua/cocos2dx_support/CCLuaEngine.cpp:183: ошибка: обработчик '…' должен быть последним обработчиком для своего блока try
Как мне явно добавить флаг -fexceptions?
А есть ли какой-то способ собрать нативный Win32 exe через mingw, а не собирать для запуска на эмуляторе Android?
Я столкнулся с аналогичной проблемой при недавней проверке, поэтому я предполагаю, что что-то в исходном коде изменилось, что вызвало эту ошибку. Я думаю, что не так давно я видел некоторые обновления, связанные с LUA, так что, возможно, это уже было исправлено. (Если нет, попробуйте сообщить об этом на форумах Cocos-x).
Что касается собственного исполняемого файла win32, я бы рекомендовал использовать Visual Studio (или бесплатную Visual Studio Express). Если вы хотите использовать MinGW, вы можете попробовать использовать файлы Makefile, предоставленные для сборки Linux. Я просто не уверен, есть ли у MinGW основные файлы заголовков и библиотек OpenGL ES, необходимые для компиляции и компоновки исходного кода.
Вы можете начать работу с Cocos2d-x, загрузив автономный ZIP-файл с веб-сайта или клонировав наш репозиторий GitHub. Выберите то, что работает для вас. Нет необходимости делать и то, и другое. Убедитесь, что у вас есть рабочая среда. Это означает работающий Python, запустивший /setup.py> и обновивший $PATH.
Загрузив ZIP-архив
Загрузите Cocos2d-x и разархивируйте его. (возможно: c:\Users\your_user_id)
Клонирование с GitHub
Используйте следующие команды, чтобы клонировать наш репозиторий GitHub и настроить среду. Если вы не знакомы с рабочим процессом GitHub, изучите его или загрузите, выполнив описанный выше шаг, загрузив ZIP-архив.
Скомпилируйте и запустите проект cpp-tests
Откройте cocos2d-win32.vc2012.sln в папке сборки
Щелкните правой кнопкой мыши проект TestCpp и выберите "Установить как запускаемый проект".
Скомпилируйте и запустите проект TestCpp.
Начало нового проекта
Как только все вышеперечисленное заработает, вы можете начать новый проект! Чтобы сделать это, прочтите наш документ об инструменте командной строки Cocos.
Распространение приложения Cocos2d-x в Windows
Примечание: это выходит за рамки Cocos2d-x. Обратитесь за помощью к ресурсам Microsoft.
Если вы попытаетесь запустить игру, созданную с помощью Cocos2d-x, на машине, не предназначенной для разработки, может потребоваться, чтобы на этой машине была установлена среда выполнения Visual Studio. Проще всего создать установщик для своей игры, но можно обойтись и без него, установив все необходимые части вручную.
Используйте Dependency Walker, чтобы проверить, какие библиотеки DLL требуются для вашей игры.
Установите необходимую среду выполнения Visual Studio. Теперь Microsoft объединила среды выполнения VS2015, 2017 и 2019 в одну, которую вы можете найти здесь.
Информацию об установщике см. в этих сообщениях:
InnoSetup (также показывает пример установки среды выполнения VS C++ с его помощью).
cocos2d-x – это кроссплатформенный игровой движок с открытым исходным кодом. Это позволяет разработчикам писать код на C++, Lua и Javascript для iOS, Android, Windows Phone, Mac OS X, Windows Desktop и Linux.
ТРЕБОВАНИЯ
Требования к сборке
- Mac OS X 10.7+, Xcode 4.6+
- Windows 7+, VS 2012+
- Ubuntu 12.10+, CMake 2.6+
- Питон 2.7.5
- NDK, JDK, ANT (разработка для Android)
Требования к среде выполнения
- iOS 5.0+ для игр на iPhone/iPad
- Android 2.3+ для Android-игр
- Windows Phone 8+ для игр Windows Phone
- OS X v10.6+ для игр Mac
- Windows 7+ для игр для Windows
Установка
Скачать все ниже:
После загрузки всего вышеперечисленного
установите JDK и в то же время создайте новую переменную с именем: JAVA_HOME и укажите путь к тому месту, где вы установили JDK выше.
разархивируйте Android SDK и NDK в один и тот же корневой каталог. (возможно: ~/AndroidDev)
установите Python и обратите внимание, где вы его разместили.
извлеките Apache Ant и поместите всю папку в нужное место. Обратите внимание, где вы его разместили.
добавьте пути для Apache Ant и Python в переменную PATH.
Теперь проверьте свою среду, прежде чем продолжить. Запустите командную строку и выполните:
Если все работает, пришло время запустить setup.py, чтобы настроить среду разработки Android. Это установит необходимые переменные среды. Если вы еще не настроили эту среду, вам будет предложено ввести пути для переменных, которые не найдены. Вы запускаете setup.py из каталога, в котором находится Cocos2d-x.
Внутри вашего каталога Cocos2d-x запустите:
Внимание: нельзя использовать знак ~. Используйте полный путь к вашему домашнему каталогу. В противном случае скрипты завершатся ошибкой из-за значения пути к ошибке.
Это краткое руководство поможет вам сделать первый вызов API PlayFab в движке Cocos2d-x.
Прежде чем вы сможете вызывать любой API PlayFab, у вас должна быть учетная запись разработчика PlayFab.
Настройка проекта Cocos2d-x
ОС: это руководство написано для Windows 10 с использованием Visual Studio 2015. Cocos работает в большинстве современных ОС и сред. Инструкции по установке похожи, но различаются для каждой комбинации.
Если вы создаете для других платформ, вам нужны те же файлы, но вам нужно будет выполнить настройку проекта самостоятельно. Visual Studio 2013 будет иметь те же шаги, но приведенные здесь снимки экрана будут немного отличаться от ваших.
Загрузите и установите Cocos2d-x
После настройки Cocos2d-x создайте проект с помощью интерфейса командной строки Cocos:
Перейдите к месту, где вы хотите сохранить свой проект Cocos
Откройте командное окно в родительской папке (CLI Cocos создаст фактический каталог проекта)
Удерживая нажатой клавишу Shift, щелкните правой кнопкой мыши пустое белое пространство окна Проводника.
В новом окне консоли введите следующую команду:
- cocos new CocosGettingStarted -l cpp
- Убедитесь, что ваш целевой подкаталог (CocosGettingStarted) еще не существует. Эта команда завершится ошибкой, если папка уже существует.
- Если вы получили сообщение о том, что "'cocos' не распознается как внутренняя или внешняя команда", вы неправильно настроили установку cocos (вернитесь к руководству по установке Cocos для Windows).
- В случае успеха появится новая папка CocosGettingStarted. В этом руководстве это расположение каталога будет называться .
Успешный вывод должен выглядеть так, как показано в примере ниже.
Загрузить PlayFab Cocos2d-xSdk: Cocos2D-x SDK (C++). Сохраните и извлеките его во временное место
- Откройте следующую папку в проводнике Windows: /PlayFabClientSDK
- Откройте следующую папку во втором проводнике Windows: /Classes
Скопируйте и вставьте все файлы из /PlayFabClientSDK в /Classes
В Visual Studio загрузите /proj.win32/CocosGettingStarted.sln .
Мы хотим добавить файлы PlayFab в проект Cocos.
В Visual Studio на панели обозревателя решений разверните папку: Solution/CocosGettingStarted/src
Откройте окно проводника Windows в папке /Classes
Выберите все файлы в /Classes, КРОМЕ AppDelegate.h, AppDelegate.cpp, HelloWorldScene.h, HelloWorldScene.cpp
Перетащите все эти файлы из Проводника в папку Visual Studio Solution/CocosGettingStarted/src, которую мы нашли выше. Если у вас возникли проблемы, вы можете перетаскивать каждый файл по одному, только будьте осторожны и получите их все.
Вы должны увидеть эти файлы в своем проекте VS:
PlayFab использует несколько библиотек Cocos, которые необходимо вручную добавить в список зависимостей.
Откройте окно свойств вашего проекта CocosGettingStarted (как показано ниже).
Замените дополнительные каталоги включения следующим:
Мы добавляем библиотеки curl и zlib, поставляемые с Cocos, но не включенные по умолчанию.
Теперь ваш проект CocosGettingStarted должен скомпилироваться (и даже запуститься), но мы пока не делаем никаких вызовов PlayFab API.
Настройте свой первый вызов API
В этом руководстве приведены минимальные шаги для первого вызова PlayFab API. Подтверждение отображается в приложении.
- В Visual Studio внутри папки Solution/CocosGettingStarted/src откройте файл HelloWorldScene.h и замените его содержимое следующим образом:
- В Visual Studio в папке Solution/CocosGettingStarted/src откройте файл HelloWorldScene.h и замените содержимое тем, что показано ниже.
ол> - Непосредственно рядом с этим откройте HelloWorldScene.cpp и замените содержимое следующим:
- Это незначительная модификация файла HelloWorldScene.h по умолчанию, созданного Cocos.
- В частности, он определяет используемый нами графический интерфейс Cocos и прототип для OnLoginSuccess и OnLoginFail .
- Все остальное — стандартные функции Cocos Engine.
- Каждый разработчик PlayFab создает игру в Game Manager. Когда вы публикуете свою игру, вы должны закодировать этот titleId в своей игре. Это позволяет клиенту узнать, как получить доступ к правильным данным в PlayFab. Для большинства пользователей это просто обязательный шаг, который заставит PlayFab работать.
- При этом начинается асинхронный запрос к LoginWithCustomID , а по завершении вызывается функция OnLoginSuccess или OnLoginFail.
- Простая установка переменной statusMsg не приводит к обновлению текста на экране.
- Эта функция устанавливает соответствие текста GUI содержимому statusMsg каждый такт (не очень эффективно).
- При успешном обратном вызове объект результата многих обратных вызовов API будет содержать запрошенную информацию.
- LoginResult содержит некоторую базовую информацию о проигрывателе, но для большинства пользователей вход в систему является просто обязательным шагом перед вызовом других API.
- Если вызывается функция ошибки, ваш вызов API завершился неудачно.
- Вызовы API могут завершаться ошибкой по многим причинам, и вы всегда должны пытаться справиться с ошибкой.
- Почему вызовы API завершаются неудачно (в порядке вероятности)
- PlayFabSettings.TitleId не задан. Если вы забудете установить titleId на свой заголовок, ничего не будет работать.
- В Cocos библиотека curl, скорее всего, просто приведет к сбою игры, если вы неправильно установите titleId.
customData — это пустой указатель, который можно использовать любым способом для установления контекста.
Читайте также:
- PlayFabSettings.TitleId не задан. Если вы забудете установить titleId на свой заголовок, ничего не будет работать.
Эти файлы берут существующую HelloWorldScene, которая является частью шаблона new-Cocos-project, и модифицируют их, чтобы включить ваш первый вызов API PlayFab.
Завершить и выполнить
Создайте и выполните свой проект Cocos: раскрывающиеся списки -> Отладка -> Начать отладку.
Это может подтолкнуть вас к сборке. Выберите Да.
Вы должны увидеть экран с надписью:
Поздравляем, вы сделали свой первый успешный вызов API!
Теперь вы можете начать делать другие вызовы API и создавать свою игру.
Список всех доступных вызовов клиентского API см. в нашей документации PlayFab API References.Деконструировать код
Этот необязательный последний раздел подробно описывает каждую часть приведенного выше исходного кода.
createScene() — это стандартная функция Cocos Engine.
Обычный графический интерфейс Cocos: closeItem и testReportLabel .
PlayFab::PlayFabClientAPI::LoginWithCustomID(request, OnLoginSuccess, OnLoginFail, nullptr);