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:
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
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