Como implementar um Mapa Ortogonal (2D) no jogo em Cocos2d

Criar um mapa no jogo em Cocos2D é fácil através do Tiled Map Editor.

A versão utilizada do Cocos2d-x é a 4.0.

Com ele é possível fazer mapas através da colocação de tiles (do inglês, azulejos) um ao lado do outro (horizontal) e em camadas (vertical, ou seja, com sobreposição).

Criando o seu mapa

Após baixar e instalar o Tiled versão 0.18.2 ou anterior no link do SourceForge, crie o seu primeiro mapa com as seguintes configurações:

Em pesquisa em fóruns da Internet, o formato da camada do tile – “Base64 (comprimido com zlib)” – permite armazenar as figuras usadas no mapa, sem a necessidade de copiar os arquivos de origem delas.

Após a criação do mapa, na seção “Camadas”, ajuste o nome da camada para, conforme segue:

Se for escrever outro nome aqui, altere depois no código

Na seção “Terrenos”, insira o seu primeiro tile, clicando em “Novo Tileset”:

Depois de escolher uma imagem, clicar nela e, após, clicar nos quadriculados do mapa pra preenchê-lo:

Salvar como MeuJogo.tmx

Copiar o arquivo MeuJogo.tmx para o diretório DIRETÓRIO_DO_PROJETO\Resources

Na solução MeuJogo.sln do artigo anterior, alterar o código, conforme segue:

Arquivo HelloWorld.h

#include "cocos2d.h"
#include "2d/CCTMXTiledMap.h"
#include "2d/CCTMXLayer.h"

using namespace cocos2d;

class HelloWorld : public Scene
{
private:
    TMXTiledMap *_tileMap;
    TMXLayer *_background;
...

Arquivo HelloWorld.cpp

bool HelloWorld::init()
{
    _tileMap = new TMXTiledMap();
    _tileMap->initWithTMXFile("MeuJogo.tmx");
    _background = _tileMap->getLayer("Background"); // mesmo nome que colocou em "Camadas" no editor "Tiled"
    this->addChild(_tileMap, 0);
    return true;
}

O próximo artigo será sobre criar um mapa em duas dimensões Isométrico no estilo do jogo Age of Empires(R) ou jogos do gênero.

As marcas Tiled Editor, Microsoft, Age of Empires e Cocos2D são registradas

Deixe um comentário