Criando Jogos Multiplataforma com Cocos2d-x versão 3.0 ou superior

Faça o download do documento

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.

Para obter informações mais completas sobre otimizações do compilador, consulte nosso aviso de otimização.