Tutorial: Desenvolvimento de Jogos para Android com Cocos2d-x – Parte 2

Vamos começar a programar em baixo nível com motores de jogos poderosos?

Veremos como programar de forma otimizada e ao mesmo tempo fácil com o poderoso motor de desenvolvimento de jogos Cocos2d-x.

No último tutorial, vimos que o Android dispõe de uma interface que permite a programação em baixo nível. A programação é realizada na linguagem C++ e é otimizada em tempo de execução e consumo de memória, porém é um pouco mais trabalhosa para o programador. Vimos que um game precisa ser otimizado e dei uma breve introdução sobre como podemos programar pensando em otimização. É meus queridos … estamos evoluindo e nos tornando profissionais. =]

Nesse tutorial eu mostrarei como criar uma aplicação no Cocos2d-x, que possui toda a sua programação em baixo nível e otimiza o seu game por completo. Gentlemen, start your engines!

OBS: Este tutorial está obsoleto, veja a versão mais atual

Cocos2d-x … o que é isso?

O Cocos2d-x é um motor de jogos 2D que possui código aberto sobre a licença MIT. Ele já possui muitas funcionalidades poderosas implementadas que ajudam qualquer programador a desenvolver seus games. O mais interessante desse motor é que ele possui a portabilidade para os mais diferentes aparelhos do mercado, podendo ser utilizado no desenvolvimento de jogos para iOS, Android, Windows Phone e BlackBerry, por exemplo. Vocês perceberam algum ponto positivo aí? =]

O motor pode ser baixado aqui e possui bastante material de ajuda na internet. Posso falar do próprio site do Cocos2d-x, que tem a área de wiki e o lugar onde está a API do motor. Vão se familiarizando.

Chega de falar do motor, vamos criar nossa primeira aplicação em Cocos2d-x.

 

Configurando o motor com o NDK

Logo depois de baixar o Cocos2d-x, precisamos fazer com que ele ache o diretório do NDK. Para isso, primeiramente, descompacte o arquivo do motor em um lugar que você saiba (não coloque em uma pasta que contenha o caractere espaço no caminho dela). Depois, abra o arquivo “create-android-project.bat” em um editor de texto/código que possui a codificação UTF-8 (eu uso o CodeBlocks).

No editor de texto, com o arquivo aberto, procure a linha que começa com “set _CYGBIN” e deixe “set _CYGBIN=C:cygwinbin”, caso você deixou o Cygwin (aquele programa que compila em ambiente Linux) diretamente na raiz da unidade C. Procure a linha que começa com “set _ANDROIDTOOLS” e deixe “set _ANDROIDTOOLS=C:Program Files (x86)Androidandroid-sdktools”. Para finalizar, modifique a linha que começa com “set _NDKROOT” para “set _NDKROOT=C:android-ndk-r8e”. Lembre-se que o caminho no meu computador pode não ser o mesmo que você escolheu no seu, apenas mude se for o caso. Volto a lembrar, não coloque em diretórios que possua espaço no caminho. A Figura 1 mostra os trechos modificados.

Figura 1 – Edição de caminhos

Com isso você acaba de apontar os principais programas que o Cocos2d-x utilizará quando for criar um projeto padrão. Bora criar um projeto Cocos2d-x?

 

Criando um projeto Android para Cocos2d-x

Para criar um projeto em Cocos2d-x, é necessário que você execute o arquivo editado (create-android-project.bat) como administrador do computador. Não obstante, ainda é necessário que você execute tudo isso no prompt de comando. Ou seja, você precisa executar o prompt de comando como administrador e mandar bala.

Para fazer isso, no Windows 8, você pode clicar com o botão direito no menu iniciar (depois da última atualização esse botão voltou a existir, mas com outra funcionalidade) e selecione “Prompt de Comando (Admin)”. Digite a senha do administrador, caso tenha, e aperte “Enter”. Abrirá a tela do prompt de comando. Ali, você entra no diretório do Cocos2d-x que você descompactou, no meu caso eu digitei “cd C:cocos2d-x-2.1.4”. Execute o arquivo “create-android-project.bat” digitando o nome dele e apertando “Enter”.

Ao executar o arquivo, primeiramente será perguntado o pacote que o programa vai pertencer. Eu coloquei “com.santy.hello”. O normal é você colocar o nome da empresa que você trabalha entre os pontos e finalizar com o nome do aplicativo.

Logo após ele perguntará o nome do projeto. Eu coloquei “Hello”. Todos esses passos são mostrados na Figura 2.

Figura 2 – Criando um projeto Cocos2d-x

Na última etapa você dá um número de id pertencente a uma versão do Android. Coloque o valor da versão que você está querendo construir o seu aplicativo. Eu coloquei 7, que corresponde a API 2.2 do Android. Logo depois, pressione uma tecla qualquer.

É necessário fazer um passo para não dar problema depois na hora de compilar no Eclipse. Entre na pasta “C:cocos2d-x-2.1.4cocos2dxplatformandroidjavasrc” e copie a pasta “org” para dentro da pasta “src” do projeto “C:cocos2d-x-2.1.4cocos2dxHelloproj.android”. Sempre tomando como base a pasta do Cocos2d-x.

Mude a permissão da pasta do Cocos2d-x e de todas as subpastas e arquivos para público. Isso é importante para que não haja problema de permissão durante a compilação.

Para finalizar, abra o arquivo “build_native.sh” dentro da pasta “C:cocos2d-x-2.1.4Helloproj.android” com um editor de texto que comporta UTF-8. Entre as linhas que iniciam “APPNAME=”Hello”” e “# options”, escreva “NDK_ROOT=/cygdrive/c/android-ndk-r8e”. Se o seu NDK estiver em outra pasta, basta mudar conforme o caminho que você escolheu.

Agora é a hora de compilar.

 

Compilando o código nativo (C++)

Abra o Cygwin. Entre na pasta onde está o projeto Android que você criou no Cocos2d-x. Eu entrei nessa pasta digitando “cd /cygdrive/c/cocos2d-x-2.1.4/Hello/proj.android”. Logo após digite “./build_native.sh”. Nesse momento, o Cygwin vai compilar praticamente toda a biblioteca Cocos2d-x e o programa padrão do Cocos2d (Hello, nesse caso). Depois de compilar tudo (vai demorar um pouquinho), a tela do Cygwin vai ficar mais ou menos como é mostrado na Figura 3.

Figura 3 – Compilação do código fonte do Cocos2d-x

Toda vez que você editar o código nativo, ou seja, aqueles arquivos em linguagem C++, será necessário que você recompile. Como você não editou nada da biblioteca do Cocos, então ela não será recompilada. Somente o código editado será recompilado.

Agora, basta incluir o projeto no Eclipse e compilar normalmente por lá, como sempre fizemos. Para não ficar repetitivo, você pode ver como adicionar um projeto no Eclipse no tutorial anterior. O resultado final é esse mostrado na Figura 4.

Figura 4 – Hello World Cocos2d-x

Então galerinha, nesse tutorial nós aprendemos a compilar o nosso primeiro programa utilizando o motor de jogos Cocos2d-x. A partir de agora nós vamos programar somente na linguagem C++. Dessa forma, programaremos como os profissionais que trabalham nas grandes empresas de jogos, como a Zynga, Glu e por aí vai. Massa né!? =]

No próximo tutorial, veremos como programar Sprites, que são aqueles elementos animados como o Mario da Nintendo ou o Sonic da Sega.

Por hoje é isso, nos vemos no próximo tutorial. Um grande abraço.

Santiago Viertel

Santiago Viertel

Formado em Bacharelado em Ciência da Computação (UDESC), mestre e doutorando em Análise de Algoritmos (UFPR). Foi programador da Céu Games por 8 anos. Possui a preferência por jogos de estratégia e de tiro em primeira pessoa. Jogando bastante DotA 2, Left 4 Dead 2 e Age of Empires II HD.

Send this to a friend