Tiled para CreateJS

21
Tiled para o CreateJS Hamilton Lima 2013

description

Processo de criar um mapa usando a ferramenta Tiled e exportar o conteúdo para ser apresentado usando a biblioteca javascript CreateJS

Transcript of Tiled para CreateJS

Page 1: Tiled para CreateJS

Tiled para o CreateJS

Hamilton Lima2013

Page 2: Tiled para CreateJS

Definições• Tiled – Ferramenta para edição de

mapas e fases e outras coisas• CreateJS – Biblioteca Javascript para

criar jogos e visualizações interativas

Page 3: Tiled para CreateJS

Tiled em ação• Criar Camadas• Nomes fáceis• Evitar acentos nos nomes

Page 4: Tiled para CreateJS
Page 5: Tiled para CreateJS

como tiled fala com o

createJS ?

Page 6: Tiled para CreateJS
Page 7: Tiled para CreateJS

CreateJS

Tiled

Page 8: Tiled para CreateJS
Page 9: Tiled para CreateJS

JSON = Javascriptobject notation

Page 10: Tiled para CreateJS

<script>var pessoa = {

nome: "joao", idade: 34 };

alert(pessoa.nome);</script>

Page 11: Tiled para CreateJS

cuidadocódigo

complicado !!

Page 12: Tiled para CreateJS

level1.json

level1.js

Page 13: Tiled para CreateJS

var data = foi fácil,

cadê o resto do código ?

Page 14: Tiled para CreateJS

Resumo dos passos1. Converter arquivo JSON para JS2. Criar spritesheet com imagens usadas3. Percorrer lista de camadas e o array data

para desenhar cada camada4. Criar um BitmapAnimation para cada tile e

chamar gotoAndStop

Page 15: Tiled para CreateJS

Converter arquivo JSON para JS, ou em outras palavras colocar o conteúdo do JSON em uma variável

level1.jsonlevel1.js

passo 1

Page 16: Tiled para CreateJS

passo 2Criar spritesheet com imagens usadas. este exemplo considera o uso de somente um spritesheet no tiled, e monta um objeto spritesheetData para montar o objeto spritesheet.

var spritesheetData = { images: [map.tilesets[0].image],frames: {

width:map.tilesets[0].tilewidth, height:map.tilesets[0].tileheight

}};spriteSheet = new createjs.SpriteSheet(spritesheetData);spriteSheet.addEventListener("complete", processTiles);

Page 17: Tiled para CreateJS

Dica : processtiles somente é executado quando a criação do spritesheet é concluida.

Page 18: Tiled para CreateJS

passo 3Percorrer lista de camadas, se o tipo de camada é tilelayer, percorre data para desenhar.

for(n in map.layers){if( map.layers[n].type == 'tilelayer' ){

for(i in map.layers[n].data){var tid = map.layers[n].data[i];// passo 4 aqui

}}

}

Page 19: Tiled para CreateJS

passo 4Criar um BitmapAnimation para cada tile e chamar gotoAndStop, assim conseguimos exibir somente uma imagem do spritesheet, usando o identificador de tile (tid) para indicar que imagem exibir.

for(i in map.layers[n].data){var tid = map.layers[n].data[i];

var tile = new createjs.BitmapAnimation(spriteSheet);tile.gotoAndStop(tid -1);// outras coisas...

}

Page 20: Tiled para CreateJS

Acesse o exemplo completo em : http://goo.gl/gwjDK2

ou em : https://github.com/hamilton-lima/javascript-samples/blob/master/json/tiled/level1a.html

Page 21: Tiled para CreateJS

fim.