Entrar
Últimos assuntos
» player não consegue andarpor 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
Tutorial básico: Arrays
+4
Mr.Brum
Wendryos
Isaque Onix
AxeInLine
8 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Tutorial básico: Arrays
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:
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.
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...
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...
Bem, acredito que seja isso, qualquer dúvida, ou se tem algo a dizer, comente!
AxeInLine- Data de inscrição : 23/03/2014
Reputação : 40
Número de Mensagens : 211
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial básico: Arrays
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
Re: Tutorial básico: Arrays
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.
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- Games Ranking :
Notas recebidas : D
Data de inscrição : 21/04/2014
Reputação : 12
Número de Mensagens : 194
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 1
Re: Tutorial básico: Arrays
Parabéns pelo tutorial Axé, ficou bom!
Gostaria de recomendar uma coisa pra vc melhorar essa parte:
É 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:
É isso aí, até Mais!
Gostaria de recomendar uma coisa pra vc melhorar essa parte:
Axé Em Linha escreveu:O único problema nisso tudo é lembrar qual posição da array guarda o que. Razz
- 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...
É 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!
- Não me abra :
- Te esperei no Chat pra te dizer isso o dia todo, mas como não apareceu, tô postando antes que eu me esqueça!
Re: Tutorial básico: Arrays
mrbrum22 escreveu:Parabéns pelo tutorial Axé, ficou bom!
Gostaria de recomendar uma coisa pra vc melhorar essa parte:Axé Em Linha escreveu:O único problema nisso tudo é lembrar qual posição da array guarda o que. Razz
- 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...
É 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!
- Não me abra :
Te esperei no Chat pra te dizer isso o dia todo, mas como não apareceu, tô postando antes que eu me esqueça!
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--
}
Re: Tutorial básico: Arrays
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é .
Bem, obrigado pelas dicas e, assim que eu tiver tempo, vou dar um jeito de coloca-las no tutorial.
Fiquei sem internet - e computador - por um tempinho, então não pude ler nem responder vocês, mas agora já estou aqui né .
Bem, obrigado pelas dicas e, assim que eu tiver tempo, vou dar um jeito de coloca-las no tutorial.
AxeInLine- Data de inscrição : 23/03/2014
Reputação : 40
Número de Mensagens : 211
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial básico: Arrays
Tutorial está bem didático. Aprovado.
fredcobain- Games Ranking :
Data de inscrição : 14/04/2011
Reputação : 163
Número de Mensagens : 692
Prêmios :
x 0 x 3 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial básico: Arrays
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--
}
var i = 3;
bau[3] = 0
repeat (4)
{
bau[i] = false
i--
}
david.fortes.10- Data de inscrição : 22/04/2014
Reputação : 0
Número de Mensagens : 3
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial básico: Arrays
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).
}
entao...
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é isso que quer saber?
- 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).
}
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- Data de inscrição : 22/04/2014
Reputação : 0
Número de Mensagens : 3
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial básico: Arrays
Esqueceu meu nome? brinks
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
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
Markituh- Games Ranking :
Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Tutorial básico sobre Arrays
» [tutorial basico] Criando um jogo RPG
» [Tutorial] Arrays
» [Tutorial] Básico ao avançado - Movimentação avançada 2D
» [Tutorial]Banco de Dados Básico com arquivos .Ini - Com criptografador!
» [tutorial basico] Criando um jogo RPG
» [Tutorial] Arrays
» [Tutorial] Básico ao avançado - Movimentação avançada 2D
» [Tutorial]Banco de Dados Básico com arquivos .Ini - Com criptografador!
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos