Tile System [Itens]

今日は皆-さん Devota ao nosso tutorial system. Hoje nós implementaremos um sistema de itens muito simples. Um sistema de criar itens dentro do cenário tile, verificar se o player pegou o item e contagem simples de pontos. Vejam como ficará nosso arquivo.

Download

Como vocês podem ver, nosso cenário está um pouco diferente do que fizemos no tutorial passado, as mudanças no código são poucas o que deu o charme mesmo foi o gráfico que deu uma melhorada, se vocês baixarem o arquivo vejam o quão simples foi fazer essas mudanças^^

Mudando o código:

Tirando a Matriz que monta o cenário, nós adicionamos um contador para criar o depths de cada tile, fazendo com que o índice todos os depths de cenário fiquem entre 1 e 150, assim você vai se certificar e sempre vai criar um item na camada acima do cenário.

Outra mudança foi nos loops de construção do cenário, nos tutoriais anteriores nós usavamos cenrário quadrado. por isso podíamos usar uma variável limitadora do total para ambos os lados. agora vamos usar a largura do primeiro vetor que fica dentro de arrayField.

...
indice = 0;
for (i = 0; i < arrayField[0].length; i++) {
  for (j = 0; j < arrayField.length; j++) {
    indice += 1;
    newName = "Tile_" + j + "_" + i;
    _root["Field"].attachMovie("Tile",newName,indice);
...

Criando MovieClip Item:

Vamos usar como item uma estrela. Ela deverá ser criada no centro no movieclip e a propriedade linkage denominada “itens”

Array Itens:

Assim como no cenário montaremos um vetor para armazenar o posicionamento de cada item. E criaremos uma variável para armazenar os pontos.

itens = [[1, 2], [2, 8], [5, 6], [8, 7], [11, 4], [8, 4], [5, 1]];
var pontos:Number = 0;

Criaremos um loop que irá de 0 ao tamanho do vetor itens para ir criando cada item no cenário, lembrando que usaremos a mesma estrutura que usamos para criar o jogador no cenário (cordenadax* TileP + 10) e (cordenadax* TileP + 10);

for (i = 0; i < itens.length; i++) {
  var itemName = "item_" + itens[i][1] + "_" + itens[i][0];
  _root["Field"].attachMovie("itens",itemName,i + 200);
  _root["Field"][itemName]._x = itens[i][0] * TileP + 10;
  _root["Field"][itemName]._y = itens[i][1] * TileP + 10;
}

Player vs Itens:

Na função loop criaremos um loop for in em item, Assim a cada movimento do nosso player faremos uma consulta verificando se o nosso player encostou em algum item da tela. Se tiver encostado ele vai remover o item e adicionar um valor para pontos

for (i in itens) {
  var itemName = "item_" + itens[i][1] + "_" + itens[i][0];
  if (_root["Field"][itemName].hitTest(Player)) {
    _root["Field"][itemName].removeMovieClip();
    pontos += 100;
  }
}

Para cada i em itens ele vai construir uma variável com o nome do item correspondente no loop e verificar se encostou no player ou não.

Com isso nosso tutorial tile system item está pronto, agora vocês podem usar a imaginação da maneira que vocês quiserem para montar um joguinho simples de coleta de itens. No próximo tutorial, não tenho certeza ainda mas provavelmente aprenderemos a estruturar inimigos burros no nosso cenário^^ Bem pessoal espero que tenham gostado e até a próxima. CYA, また見てね.

Anúncios

Tags: , , , , ,

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: