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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


Tutorial básico: Arrays

+4
Mr.Brum
Wendryos
Isaque Onix
AxeInLine
8 participantes

Ir para baixo

Tutorial básico: Arrays Empty Tutorial básico: Arrays

Mensagem por AxeInLine Sex 26 Dez 2014, 16:59

Título: Tutorial básico: Array
 
Versão do GM: Qualquer uma.
 
Dificuldade: Depende de sua atenção
 
Link para download da Engine: Não há.
 
Requer Extensões/DLLs: Não.
 
 
 
    Sobre o tutorial:
    
      Muitas vezes nos vemos ciando varias variáveis para executar certas ações, ocupando uma pequena diferença na memoria do jogo, mas se feito muito pode ficar muito pesado, por isso, existem arrays, variáveis que podem ocupar mais de um valor, sendo que cada valor tem sua própria posição dentro da array.
    
      Existem dois tipos de arrays...
 
 
 ...As de uma dimensão:
 


Val1
Val2
Val3
Val4
0
1
2
3






Ali em cima, fiz um pequeno exemplo de uma array.
      Note que a array começa na posição 0 e segue a partir dai, no exemplo acima, a array tem 4 posições, onde a ultima é a 3.

      Ok, temos o exemplo, mas, como transformamos isso em gml?
      Simples:


Código:
var_array[0] = val1;

      Sendo que:

Var_array
é o nome da array.
0 a posição.
Val1 é o valor, como numa variável normal.
 
     A partir dai, podemos fazer uma listagem de atributos para o player, por exemplo, desta forma:

Código:
player_att[0] = 5;// o atributo da força por exemplo
player_att[1] = 7;// atributo da inteligencia
player_att[2] = 3;// atributo da agilidade
player_att[3] = 10;// atributo da sorte...
// e assim vai...

O único problema nisso tudo é lembrar qual posição da array guarda o que. Razz
 ...E as de duas dimensão:


Linha 0
Val1,1
Val1,2
Val1,3
Val1,4
L 1
Val2,1
Val2,2
Val2,3
Val2,4
L 2
Val3,1
Val3,2
Val3,3
Val3,4
L 3
Val4,1
Val4,2
Val4,3
Val4,4

Coluna 0
C 1
C 2
C 3



      Note que as de duas dimensões não possuem somente uma linha, como nas de uma, mas sim, uma coluna e uma linha.

      Nós criamos uma array 2D desta forma:
Código:
var_array[0,0] = val1,1;


      Sendo que a diferença está na quantidade de posições.


A primeira posição é a coluna que estamos nos referindo,
E a segunda  posição é a linha que estamos nos referindo.


 Agora, como exemplo, podemos fazer a listagem dos atributos para vários players diferentes (no exemplo, dois):


Código:
//primeiro player, coluna 0
player_att[0,0] = 6;// atributo de força, linha 0
player_att[0,1] = 2;// atributo de inteligencia, linha 1
player_att[0,2] = 10;// atributo de agilidade, linha 2
player_att[0,3] = 5;//atributo de sorte, linha 3
//e assim vai indo...

//segundo player, coluna 1
player_att[1,0] = 5;// o atributo da força, linha 0
player_att[1,1] = 7;// atributo da inteligencia, linha 1
player_att[1,2] = 3;// atributo da agilidade, linha 2
player_att[1,3] = 10;// atributo da sorte, linha 3
//mesma coisa...
 Pronto, agora não vamos esquecer qual atributo representa o que.


Bem, acredito que seja isso, qualquer dúvida, ou se tem algo a dizer, comente!
AxeInLine
AxeInLine

Data de inscrição : 23/03/2014
Reputação : 40
Número de Mensagens : 211
Prêmios : Tutorial básico: 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

Tutorial básico: Arrays Empty Re: Tutorial básico: Arrays

Mensagem por Isaque Onix Sáb 27 Dez 2014, 13:22

bom tutorial... gosto de usar arrays seguidas de loops como for, repeat, while... para controlar certos aspectos de meus games e aplicativos... algumas coisas não dá pra fazer 1-a-1 hehehe
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : Tutorial básico: 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

Tutorial básico: Arrays Empty Re: Tutorial básico: Arrays

Mensagem por Wendryos Sáb 27 Dez 2014, 23:15

Bom tutorial.

Eu não entendo muito bem de Arrays pois nunca a usei, e acho que não vou usar, pois pelo que acho são variáveis com o mesmo nome, então acho mais pratico criar varias variáveis. Ex.: inteligencia forca etc.

Mas gostei do tutorial e vou dar uma estudada vai que mudo de opnião.
Wendryos
Wendryos

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 21/04/2014
Reputação : 12
Número de Mensagens : 194
Prêmios : Tutorial básico: 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 1

Ir para o topo Ir para baixo

Tutorial básico: Arrays Empty Re: Tutorial básico: Arrays

Mensagem por Mr.Brum Sáb 27 Dez 2014, 23:50

Parabéns pelo tutorial Axé, ficou bom!
Gostaria de recomendar uma coisa pra vc melhorar essa parte:
Axé Em Linha escreveu:
Código:
player_att[0] = 5;// o atributo da força por exemplo
player_att[1] = 7;// atributo da inteligencia
player_att[2] = 3;// atributo da agilidade
player_att[3] = 10;// atributo da sorte...
// e assim vai...
O único problema nisso tudo é lembrar qual posição da array guarda o que. Razz

É uma prática comum na programação utilizar constantes para identificar o índice da array. Uma Constante é como se fosse uma variável que recebe um valor na sua criação e nunca pode ser alterada.

Assim, vc criaria as constantes no editor de constantes do GM:
INTELIGENCIA=1;
AGILIDADE=2;
SORTE=3;
...

E aí utilizaria as constantes pra identificar qual o atributo na array:
Código:
player_att[INTELIGENCIA] = 7;// atributo da inteligencia
player_att[AGILIDADE] = 3;// atributo da agilidade
player_att[SORTE] = 10;// atributo da sorte...

É isso aí, até Mais! flw

Não me abra :
Mr.Brum
Mr.Brum

Games Ranking : Nota C

Notas recebidas : D + D + C + C + D + B
Data de inscrição : 28/04/2011
Reputação : 41
Número de Mensagens : 914
Prêmios : Tutorial básico: Arrays Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

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

http://mrbrumgames.blogspot.com/

Ir para o topo Ir para baixo

Tutorial básico: Arrays Empty Re: Tutorial básico: Arrays

Mensagem por matheusco Dom 28 Dez 2014, 18:42

mrbrum22 escreveu:Parabéns pelo tutorial Axé, ficou bom!
Gostaria de recomendar uma coisa pra vc melhorar essa parte:
Axé Em Linha escreveu:
Código:
player_att[0] = 5;// o atributo da força por exemplo
player_att[1] = 7;// atributo da inteligencia
player_att[2] = 3;// atributo da agilidade
player_att[3] = 10;// atributo da sorte...
// e assim vai...
O único problema nisso tudo é lembrar qual posição da array guarda o que. Razz

É uma prática comum na programação utilizar constantes para identificar o índice da array. Uma Constante é como se fosse uma variável que recebe um valor na sua criação e nunca pode ser alterada.

Assim, vc criaria as constantes no editor de constantes do GM:
INTELIGENCIA=1;
AGILIDADE=2;
SORTE=3;
...

E aí utilizaria as constantes pra identificar qual o atributo na array:
Código:
player_att[INTELIGENCIA] = 7;// atributo da inteligencia
player_att[AGILIDADE] = 3;// atributo da agilidade
player_att[SORTE] = 10;// atributo da sorte...

É isso aí, até Mais! flw

Não me abra :

Baita dica. Coloquei ela no meu tutorial com os devidos créditos: http://www.tutoriaisgamemaker.com.br/2014/12/arrays-como-usar.html

Outra coisa que é bom lembrar é que, quando inicializar os arrays, é mais eficiente inicializar o último (faz o Game Maker saber quantos índices daquele array serão utilizados) e começar do maior para o menor, por exemplo:

var i = 3;

bau[3] = 0

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

Data de inscrição : 10/08/2014
Reputação : 51
Número de Mensagens : 395
Prêmios : Tutorial básico: Arrays Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

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

http://www.tutoriaisgamemaker.com.br

Ir para o topo Ir para baixo

Tutorial básico: Arrays Empty Re: Tutorial básico: Arrays

Mensagem por AxeInLine Ter 06 Jan 2015, 10:24

Vlw pelo feedback pessoal.
Fiquei sem internet - e computador - por um tempinho, então não pude ler nem responder vocês, mas agora já estou aqui né  geek.

Bem, obrigado pelas dicas e, assim que eu tiver tempo, vou dar um jeito de coloca-las no tutorial.
AxeInLine
AxeInLine

Data de inscrição : 23/03/2014
Reputação : 40
Número de Mensagens : 211
Prêmios : Tutorial básico: 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

Tutorial básico: Arrays Empty Re: Tutorial básico: Arrays

Mensagem por fredcobain Qua 07 Jan 2015, 22:46

Tutorial está bem didático. Aprovado.
fredcobain
fredcobain

Games Ranking : Sem avaliações

Data de inscrição : 14/04/2011
Reputação : 163
Número de Mensagens : 692
Prêmios : Tutorial básico: Arrays Empty

Medalhas x 0 Tutoriais x 3 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

Tutorial básico: Arrays Empty Re: Tutorial básico: Arrays

Mensagem por david.fortes.10 Qui 30 Abr 2015, 13:15

olaaa alguem pode fazer a interpretacao desse codigo eu nao entendi como e o que acontece depois de repita 4 vezes

var i = 3;

bau[3] = 0

repeat (4)
{
 bau[i] = false
 i--
}
david.fortes.10
david.fortes.10

Data de inscrição : 22/04/2014
Reputação : 0
Número de Mensagens : 3
Prêmios : Tutorial básico: 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

Tutorial básico: Arrays Empty Re: Tutorial básico: Arrays

Mensagem por Isaque Onix Qui 30 Abr 2015, 14:02

david.fortes.10 escreveu:olaaa alguem pode fazer a interpretacao desse codigo eu nao entendi como e o que acontece depois de repita 4 vezes

Código:
var i = 3;//Defini a variavel i com o valor 3

bau[3] = 0//Defini a array bau[3] com o valor 0

repeat (4)//Vai repetir 4 vezes
{
 bau[i] = false//a array bau[i] com valor de falso
 i--//a array i vai diminuindo enquanto o repeat não terminar, ou seja, (3, 2, 1, 0).
}
é isso que quer saber?
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : Tutorial básico: 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

Tutorial básico: Arrays Empty entao...

Mensagem por david.fortes.10 Sáb 02 maio 2015, 16:31

Isaque Onix escreveu:
david.fortes.10 escreveu:olaaa alguem pode fazer a interpretacao desse codigo eu nao entendi como e o que acontece depois de repita 4 vezes

Código:
var i = 3;//Defini a variavel i com o valor 3

bau[3] = 0//Defini a array bau[3] com o valor 0

repeat (4)//Vai repetir 4 vezes
{
 bau[i] = false//a array bau[i] com valor de falso
 i--//a array i vai diminuindo enquanto o repeat não terminar, ou seja, (3, 2, 1, 0).
}
é isso que quer saber?

sim sim. me corrija se estiver engando no "//Defini a array bau[3] com o valor 0" ele define apenas o ultimo indice, [3], pq ao nao definir os outro o gm entende que eles tem valor zero certo? o i-- e o mesmo que i-=1 que e o mesmo que i=i-1"conforme o colega ,esqueci o nome dele, me ensinou hj". agora pq ele coloca o bau[i]= false, pq o valor false? agradeco desde ja .
david.fortes.10
david.fortes.10

Data de inscrição : 22/04/2014
Reputação : 0
Número de Mensagens : 3
Prêmios : Tutorial básico: 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

Tutorial básico: Arrays Empty Re: Tutorial básico: Arrays

Mensagem por Markituh Sáb 02 maio 2015, 16:57

Esqueceu meu nome? bravo brinks Razz

O false ali é só um exemplo de valor. De fato, já que por padrão o GM entende que o valor dos outros índices sejam 0, não há sentido definir para false. Você poderia até executar uma equação matemática pra determinar o valor de bau[i], o false é mais pra exemplificar mesmo Smile
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Tutorial básico: Arrays Empty

Medalhas x 0 Tutoriais x 1 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

Tutorial básico: Arrays Empty Re: Tutorial básico: Arrays

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


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