Header Ads

Game design - Utilizando Arrays com duas dimensões

Postado: na M.Cassab
Estado: falta muito para as 17h30 ?
Escutando: Whitesnake - Judgement Day

Atribuição: Uso Não-Comercial


Creative Commons License
O conteúdo desta página foi baseado nos tutoriais contidos no site Tile based games, autorizado sob a licença Creative Commons e não pode ser utilizado para fins comerciais.

A tradução e adaptação dos textos, códigos ActionScripts e todas as outras obras originais criadas por Tonypa foram autorizada é são de propriedade dele.

Attribution: Noncommercial


Creative Commons License
The content on this page was based tutorials in the site Tile based games, licensed under a Creative Commons License and you may not use this work for commercial purposes.

The translation and adaptation of text, ActionScripts codes and all other original works created by Tonypa were authorized is are his property.


Como explicado no capítulo anterior, para criarmos o fundo da cena é preciso primeiro montar todo o cenário como um grande quebra-cabeça. Tá, legal, desenhei a cena, decompus a arte em um monte de quadradinho e salvei todas as "pecinhas"... e agora?

Como dizia a vinheta do antigo Rá-Tim-Bum: "senta que lá vem a história".

Com as "peças" separadas, devemos organizar tudo em uma matriz, utilizando Arrays (vetores) com duas dimensões.

Me desculpe, mas se você não sabe o que é uma Arrays, vai continuar sem saber. Na época em que dei aula de Flash na UNIP fiz questão de não ensinar essa matéria porque é complicado mesmo, requer um certo "adestramento". Como havia dito, o propósito desse tutorial não é explica como usar o programa, mas como aplicar o método.

Para os "entendidos", uma Arrays simples não tem segredo:

myArray=["a", "b", "c", "d"];

No código acima temos uma matriz com uma dimensão, dividida em quatro vetores. Se fosse utilizar apenas o vetor com o valor "c", digitaria myArray[2].

Então, digamos que tenha mais de um grupo de vetores. Em alguns casos, seria necessário declarar primeiro as matrizes e depois criar uma outra só para agrupá-las.

a=["a1", "a2", "a3"];
b=["b1", "b2", "b3"];
c=["c1", "c2", "c3"];
myArray=[a, b, c];


Nesse caso, se digitasse apenas myArray[2], meu resultado seria "c1", "c2", "c3".

Se precisasse especificamente do valor "c2", bastaria digitar myArray[2][1], ou seja, primeiro declararia qual o grupo deseja verificar e depois qual vetor.

Isso é uma matriz com duas dimensões. É como uma tabela contendo várias coordenadas, em que indicamos se vamos acessar uma posição específica ou um grupo completo.

Entendendo de outra modo, o código lá de cima também pode ser interpretado dessa forma:

myArray=[
a=["a1", "a2", "a3"],
b=["b1", "b2", "b3"],
c=["c1", "c2", "c3"]
];


Só que não faz sentido utilizar uma matriz dentro da outra, pois posso usar várias posições dentro de uma única matriz. Pensando desse modo, seria mais inteligente declarar a matriz assim:

myArray=[
["a1", "a2", "a3"],
["b1", "b2", "b3"],
["c1", "c2", "c3"]
];


Ficou mais organizado né. Mas você percebe que os valores com o final "1" estão na mesma coluna e os valores com o início "b" estão na mesma linha?

Lembra que dividimos nossa cena em quadradinhos, como um grande tabuleiro? Se reparar bem, perceberá que a cena, na verdade, foi dividida por linhas e colunas. Em nosso caso, utilizaremos esse tipo de matriz para indicar qual linha e qual coluna ficará a "pecinha" desejada.

O trabalho que você terá é brincar de "batalha naval", indicando a posição do elemento gráfico por linha e coluna.

Se quiser, volte ao índice para ver a lista completa do conteúdo.

Próximo assunto:
Declarando o terreno

Um comentário:

  1. gostei muito da tradução! ela tá bem fácil de ser compreendida.


    ...vou ficar esperando ansiosamente as novas traduções ^^



    []s!

    ResponderExcluir

Tecnologia do Blogger.