Neste tutorial você irá aprender como criar um jogo simples utilizando o framework Cocos2d-X, versão 3.0 ou superior, em um ambiente de desenvolvimento Windows* e como compilar para rodar em Windows e Android*.
O que é Cocos2d-x?
Cocos2d-x é um framework multiplataforma para games (e outros aplicativos, como livros interativos) baseados no cocos2d para iOS*, mas utilizando C++, JavaScript* ou Lua* ao invés de Objective-C.
Uma das vantagens deste framework é criar games que podem ser distribuídos em diferentes plataformas (Android, iOS, Win32, Windows* Phone, Mac*, Linux*, etc.), mantendo o mesmo código base com algumas adaptações específicas para a(s) plataforma(s) escolhida(s).
Cocos2d-Console
O Cocos2d-Console foi introduzido na versão 3.0. É uma ferramenta de linha de comando que possui funcionalidades para gerenciar projetos do Cocos2d-x ou Cocos2d-JS: criação, execução, compilação, depuração (debug), etc.
Criando seu primeiro jogo
1 - Faça o download da última versão do framework e descompacte em seu ambiente de desenvolvimento. Neste tutorial foi utilizada a versão 3.3rc0 e o framework foi descompactado no desktop (C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0).
Figura 1.Estrutura do diretório Cocos2d-x versão 3.3 RC0
2 – Para criar um novo projeto no cocos2d-x, vamos utilizar o setup.py (um script Python*) localizado na pasta do framework, para configurar todas as variáveis de ambiente para compilar para as plataformas Win32 e Android. Antes de executá-lo é necessário o download, instalação e configuração dos seguintes items:
Caso você não tenha o Runtime Python instalado, faça o download da versão 2.7.6 aqui: http://www.python.org/download/
Figura 2.Localização do setup.py
3 - Abra o prompt de comando (cmd.exe) e execute os seguintes comandos:
- Navegue até a pasta do framework:
cd C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0
- Execute o script setup.py:
python setup.py (ou somente setup.py)
Obs: Para executar o comando python na linha de comando, adicione a pasta aonde o Python foi instalado nas variáveis de ambiente.
- O script irá requisitar o caminho de instalação do Android SDK, Android NDK e ANT.
- Caminho da pasta do Android NDK:
Figura 3.Cocos2d-console requisitando caminho da pasta do NDK
- Caminho da pasta do Android SDK:
Figura 4.Cocos2d-console requisitando caminho da pasta do SDK
- Caminho da pasta Apache ANT bin:
Figura 5.Cocos2d-console requisitando caminho da pasta ANT bin
Depois de incluir os caminho requisitados, reabra o prompt de comando (cmd.exe). Essa ação é necessária para utilizar os comandos do cocos2d-console..
4 – Digite cmd.exe para ir para o prompt de comando novamente:
cd C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0
No passo abaixo iremos criar um novo projeto Cocos2d-x:
cocos new MyGame –p com.Project.MyGame –l cpp –d Project
Figura 6.Projeto Cocos2d-x criado
Abaixo uma rápida explicação sobre os parâmetros:
- new: criar um novo projeto que deve ser seguido pelo nome do mesmo (no exemplo acima, MyGame)
- -p: define o nome do pacote
- -l: seleciona a linguagem de programação. O valor pode ser cpp ou lua
- -d: diretório onde o framework vai criar a estrutura do projeto
Se tudo der certo, seu projeto vai ser criado na pasta Project, no diretório em que o framework foi descompactado.
Figura 7.estrutura do diretório MyGame
O projeto criado contém o código base do jogo (Classes), os resources (imagens, áudio, etc) e um projeto para cada plataforma suportada pelo framework.
Compilando Android* Apps
Requerimentos:
- Configurar todas as variáveis de ambiente para compilar os jogos Android (Android SDK, Android NDK e ANT). Caso não tenha feito este passo ainda, volte na seção “Criando seu primeiro jogo” deste artigo.
- Possuir o Java Development Kit (JDK) instalado
Obs: O Cocos2d-console utiliza o comando javac para compilar para Android, por conta disso é necessário adicionar a variável de ambiente JAVA_HOME (JDK path).
1 – Nós vamos compilar nosso jogo para mais de uma arquitetura, por padrão o framework não compila para x86 e armeabi-v7a. Edite o arquivo Application.mk localizado na pasta:
C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0\Project\MyGame\proj.android\jni
Figura 8.localização do arquivo Application.mk
2 – Adicione a seguinte linha no arquivo:
APP_ABI := armeabi armeabi-v7a x86
Figura 9.arquivo Application.mk depois de adicionar a linha APP_ABI
Agora que adicionamos a configuração para compilar também para x86 e armeabi-v7a, vamos compilar nosso jogo!
3 – Utilizando o prompt de comando, vá para a pasta do framework:
cd C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0
4 – Execute the command below to compile and run the game for Android.
cocos run –s Project\MyGame –p android
Figura 10.Executando comando para compilar e rodar o jogo em Android*
- run: compila e roda o projeto
- -s: caminho para a pasta do projeto
- -p: plataforma selecionada
Obs: Para apenas compilar, execute o comando: cocos compile –s Project\MyGame –p android
Se tudo funcionar corretamente, o comando do cocos2d-console irá utilizar o adb (caso esteja configurado nas variáveis de ambiente) para instalar o arquivo APK em um device conectado ou emulador iniciado. Caso ainda não esteja disponível, o comando irá esperar por um device ou emulador, como na imagem abaixo:
Figura 11.Comando aguardando por um device ou emulador
Caso você tenha iniciado um emulador ou conectado um device, a seguinte tela deve aparecer:
Figura 12.Tela do jogo na plataforma Android*
Compilando Win32 (para Windows* 7 ou Windows* 8 modo desktop)
Você irá precisar do Visual Studio* 2012 ou em uma versão mais recente para compilar.
1 – Utilizando o prompt de comando (cmd.exe), vá até a pasta em que o framework foi descompactado:
cd C:\Users\intel-user\Desktop\cocos2d-x-3.3rc0
2 – Execute o seguinte comando para compilar e executar o jogo no Windows:
cocos run –s Project\MyGame –p win32
Figura 13.Executando o comando para compilar e executar o jogo em Windows*
Abaixo uma rápida explicação sobre os parâmetros:
- run: compilar e executar o projeto selecionado
- -s: caminho para a pasta do projeto
- -p: plataforma selecionada
Obs: Para apenas compilar, utilize “compile” ao invés de “run”, como no exemplo abaixo:
cocos compile –s Project\MyGame –p win32
Após executar o comando “run”, se tudo funcionar corretamente, você verá a seguinte tela:
Figura 14.Tela do jogo na plataforma Windows*
Há também a opção de utilizarmos o Visual Studio para compilar e executar o jogo:
1 – Dentro do diretório do projeto, abra com o Visual Studio o arquivo MyGame.sln na pasta “proj.win32”.
Figura 15.estrutura do projeto em Win32
2 – Para compilar o projeto, pressione F6 (ou Build menu -> Build Solution) e pressione F5 para executar (ou Debug menu -> Start Debugging). Depois de compilar e executar, você irá ver a mesma tela que foi mostrada depois dos passos no prompt de comando.
Figura 16.projeto Win32 aberto no Visual Studio*
Ok, agora você sabe como criar seu jogo e compilar para Android (x86 e ARM*), Windows 7 e Windows 8 (desktop mode)!
Referências
O código fonte do Cocos2d-x framework está sob a MIT License, e pode ser encontrado aqui.
Cocos2d-x e sua documentação: http://www.cocos2d-x.org/
Cocos2d-console: http://www.cocos2d-x.org/wiki/Cocos2d-console
Observação
Quando este artigo foi escrito a versão 3.3 final do Cocos2d-x apresentou um problema que não permitia a criação de projetos (mais detalhes no link). O problema foi resolvido, mas até a publicação do artigo a correção não foi integrada no release oficial.