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

Publicado: 01/13/2015, Última atualização: 01/13/2015

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: https://github.com/cocos2d/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.

Informações de produto e desempenho

1

Os compiladores da Intel podem ou não otimizar para o mesmo nível de microprocessadores não Intel no caso de otimizações que não são exclusivas para microprocessadores Intel. Essas otimizações incluem os conjuntos de instruções SSE2, SSE3 e SSSE3, e outras otimizações. A Intel não garante a disponibilidade, a funcionalidade ou eficácia de qualquer otimização sobre microprocessadores não fabricados pela Intel. As otimizações que dependem de microprocessadores neste produto são destinadas ao uso com microprocessadores Intel. Algumas otimizações não específicas da microarquitetura Intel são reservadas para os microprocessadores Intel. Consulte os Guias de Usuário e Referência do produto aplicáveis para obter mais informações sobre os conjuntos de instruções específicos cobertos por este aviso.

Revisão do aviso #20110804