GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Usando Arrays

2 participantes

Ir para baixo

Usando Arrays Empty Usando Arrays

Mensagem por JV Justino Dom 02 Out 2011, 12:44

Nome: Usando Arrays
Requerimentos: GM6, GM7, GM8 Lite/Pro
Descrição: Ensinando a criar e usar Arrays
Nível de Dificuldade: Intermediário/Avançado

Olá a todos do Game Maker Brasil!

Neste tutorial, será explicado como criar e usar arrays, e também como e onde serão usados

Vamos Começar!

1- O que são Arrays?


Arrays são variáveis que contêm vários índices. Existem as arrays uni-dimensionais (vetores) e as bi-dimensionais (matrizes). Podemos imaginar arrays como uma planilha, onde os índices são as linhas e colunas.

2- Arrays Uni-dimensionais


Os arrays uni-dimensionais (vetores) apresentam um único índice.
Para definir um vetor, usa-se:
Código:
variavel[indice]=valor;
Em índice, deve ser colocado um número entre 0 e 31999.

Vamos usar como exemplo uma variável com três índices, que receberão valores string.
Código:
item[0]="Poção";
item[1]="Adaga";
item[2]="Elixir";
Assim foram definidos 3 valores diferentes em uma única váriavel.

Índice012
ValoresPoçãoAdagaElixir

Para desenhar os arrays, basta usar:
Código:
draw_text(20,20,item[0]);
draw_text(20,40,item[1]);
draw_text(20,60,item[2]);

Ou se preferir:
Código:
for(i=0;i<=2;i+=1)
draw_text(20,20+i*20,item[i])

3- Arrays Bi-dimensionais


Os arrays bi-dimensionais matrizes apresentam 2 índices.
Para criar um matriz, usa-se:
Código:
variavel[indice,indice2]=valor;

Para um exemplo, vamos usar alguns ítens, e os índices serão o nome, o preço, e a quantidade, respectivamente:
Código:
item[0,0]="Poção"; //nome
item[0,1]=50; //preço
item[0,2]=10; //quantidade
item[1,0]="Adaga";
item[1,1]=150;
item[1,2]=2;
item[2,0]="Elixir";
item[2,1]=1250;
item[2,2]=1;

Em uma tabela, o resultado seria:
Índice012
NomePoçãoAdagaElixir
Preço501501250
Quantidade1021

E para desenhar a array:
Código:
draw_text(20,20,item[0,0])
draw_text(20,40,item[1,0])
draw_text(20,60,item[2,0])
draw_text(100,20,item[0,1])
draw_text(100,40,item[1,1])
draw_text(100,60,item[2,1])
draw_text(180,20,item[0,2])
draw_text(180,40,item[1,2])
draw_text(180,60,item[2,2])

Ou então...
Código:
for(i=0;i<=2;i+=1)
{
    for(e=0;e<=2;e+=1)
    draw_text(20+i*80,20+e*20,item[i,e])
}

3- Onde e Por que usar Arrays?


Imagine que você precise fazer uma lista, onde precisasse usar muitas variáveis. Ao invés de usar:
Código:
var1=0;
var2=0;
var3=0;
var4=0...
...
var16=0;
Simplesmente, você poderia usar:
Código:
for(i=1;i<=16;i+=1)
var[i]=0
Além de poupar trabalho, poupa também linhas de código.

Os exemplos de onde usar arrays são infinitos. Podem ser usadas para fazer listas, tabelas, planilhas... eu mesmo, precisei usar arrays para fazer o inventário da minha Engine de RPG.


E aqui acaba este tutorial. Qualquer dúvida, sugestão ou críticas, é só falar!

さよぅなら!


Última edição por JV Justino em Dom 26 Fev 2012, 15:21, editado 2 vez(es)
JV Justino
JV Justino

Games Ranking : Nota A

Notas recebidas : A+A
Data de inscrição : 07/12/2010
Reputação : 20
Número de Mensagens : 619
Prêmios : Usando Arrays Empty

Medalhas x 0 Tutoriais x 13 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Usando Arrays Empty Re: Usando Arrays

Mensagem por Mr. Kaleb Dom 02 Out 2011, 14:31

Ótimo tutorial, eu ainda tinha algumas duvidas quanto às arrays, mas você me tirou elas, parabéns.
Mr. Kaleb
Mr. Kaleb

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 07/09/2010
Reputação : 21
Número de Mensagens : 1400
Prêmios : Usando Arrays Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos