1 de dezembro de 2014

Como usar Arrays (Vetores)

Arrays são armazenadores de dados, assim como variáveis. Apesar da função semelhante, há algumas diferenças entre os dois, principalmente a velocidade e versatilidade. Diferente da variáveis, arrays podem ser inicializado e/ou ter seus valores definidos através de loops. Neste tutorial ensinarei como usar arrays e darei alguns exemplos práticos.

Arrays são compostos por um nome e um índice, podendo tanto ser de uma ou duas dimensões. Por exemplo:

jogador[2] = obj_jogador
monstro[1] = obj_monstro
jogador[2, 1] = 10
sala[3, 2] = room2

Se imaginarmos os arrays como uma tabela, um número seria a linha e outro a coluna, agindo como coordenadas. O valor máximo para o índice é de 32.000; qualquer valor acima disso ocasionará em erro.

Assim como nas variáveis, é necessário inicializar os arrays antes de realizar checagens, mas, ao invés de fazer dessa forma:

bau[0] = false
bau[1] = false
bau[2] = false
bau[3] = false

Podemos fazer:

var i = 3;

bau[3] = 0

repeat (4)
{
   bau[i] = false
   i--
}

Existem dois fatores importantes, usados no exemplo acima, que devem ser observados para uma melhor otimização no uso de arrays. Primeiro: Inicializando o último índice do array é como se estivéssemos dizendo ao Game Maker que todos os índices anteriores também serão utilizados, portanto ele "se prepara" e economiza memória. Segundo: De acordo com o manual do Game Maker, executar arrays em ordem decrescente é mais rápido e eficiente.

É importante entender bem como funcionam pois arrays são a base de outras ferramentas extremamente importantes, como as DS Lists, que já foram abordadas no tutorial sobre como usar ds_lists.

Dica do mrbrum22: É possível usar nomes, ao invés de números, para definir o índice do array quando houver necessidade de saber exatamente ao que se refere o índice que estamos utilizando. Por exemplo:

casa_primeiroandar = 0
caverna_dos_trolls = 1
narnia = 2

bau[casa_primeiroandar] = false
bau[caverna_dos_trolls] = false
bau[narnia] = false

Nenhum comentário :

Postar um comentário