[HELP] declarando arrays

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[HELP] declarando arrays

Mensagem por AlexBosquin em Sex 10 Jan 2014, 16:05

Antes de tudo sim, eu li o tutorial do SAIM.
Mas é o seguinte tenho um amigo que meche com o unity 2d e quando vai declarar a array usa isto:
Código:

int[] var = new int[5];

ou seja em uma só linha ele criou 5 vars que pode usar durante a programação que é var[0],var[1],var[2]...var[5]

no tutorial do saim ele tinha que declarar uma por uma, como faço como o exeplo acima só que no game maker!

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Re: [HELP] declarando arrays

Mensagem por saim em Sex 10 Jan 2014, 16:31

Note que ele não deu valor às variáveis, só declarou. Depois ainda tem que definir o valor de cada índice da array.

No game maker, não precisa declarar. Se a variável não existir, ele presume que você está criando naquele momento. Esse é um dos motivos da gente falar que o GM é uma mãe.

Agora... no Unity a gente precisa declarar o TAMANHO da array? Não lembrava disso. Nossa, isso pode gerar um bocado de problemas...
Ou entendi errado o que está sendo feito?

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: [HELP] declarando arrays

Mensagem por AlexBosquin em Sex 10 Jan 2014, 17:11

entendeu errado quando ele declara uma variável array vc pode usar como se tivesse declarado a 0 a 1 a 2 a 3 e a 4 nao precisa decalrar uma por uma assim supondo que se fosse no step pode usar as 0 a 4 sem precisar no create declarar uma por uma entende!

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Re: [HELP] declarando arrays

Mensagem por saim em Sex 10 Jan 2014, 18:17

Sim, mas foi isso mesmo o que eu disse. Pode usar cada uma delas, mas elas ainda não têm valor.
Veja, qual o valor de int[3]? Não foi declarado. No step, você pode dar um valor a int[3], mas até você dar o valor, é uma incógnita.

O que eu me pergunto é se você pode dar um valor a, por exemplo, int[200]. Por exemplo, você pode querer armazenar id's de inimigos que vão sendo criados numa array, sei lá pra que. Se o jogo vai criando inimigos a cada tanto tempo, o tamanho dessa array pode ultrapassar, em algum momento, o valor estipulado.
Se não pode usar índices superiores ao declarado, isso significa que quando você vai declarar a array, já tem que saber o tamanho máximo que ela pode atingir, o que seria uma tremenda pedra no sapato. Acho que o Unity não é chato assim de se trabalhar, DEVE ter um jeito de aumentar a array automaticamente.

Bom, o fato é que no game maker, você simplesmente USA a array, no step. Pode até puxar índices para os quais você não declarou o valor (o GM interpreta que valores não declarados de arrays são zero). Se você coloca, no create, simplesmente:
Código:
int[5] := 1;
vai ter declarado:
int[0] := 0;
int[1] := 0;
int[2] := 0
int[3] := 0;
int[4] := 0;
int[5] := 1;

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: [HELP] declarando arrays

Mensagem por AlexBosquin em Sab 11 Jan 2014, 13:40

saim ainda não funcionou cara fui testar por exemplo vamos esquecer tudo e vamos começar do 0!

tenho a var cor1 declarada no create:

Código:

cor1=c_blue

quero que ela seja um array 1D:
Código:

cor1[8]=c_blue

com essa única linha ai eu queria que o game maker ja soubesse que:
Código:

cor1[0]=c_blue
cor1[1]=c_blue
cor1[2]=c_blue
cor1[3]=c_blue
cor1[4]=c_blue
cor1[5]=c_blue
cor1[6]=c_blue
cor1[7]=c_blue
cor1[8]=c_blue

é só isso que eu quero saber , e não ter que declarar array por array!

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Re: [HELP] declarando arrays

Mensagem por Willy em Sab 11 Jan 2014, 14:52

AlexBosquin: Ressaltando o que o saim disse, no GM não é necessário declarar uma array, basta apenas popular. Agora, se você quer que todas as arrays tenham o mesmo valor, (o que não faz o menor sentido para mim) você pode simplesmente usar um loop como o for para popular as arrays. No seu caso, seria isso:
Código:
for (i = 0; i<=8; i+=1){
cor1[i]=c_blue
}
Não existe outra forma de fazer isso, nem mesmo no Unity.

Saim: Uma das linguagens do Unity é C#, no qual eu mexo um pouco... Assim como em outras linguagens (não sei se são todas assim) uma array sempre deve ser declarada com seu tamanho máximo, o que de fato, é um empecilho dos grandes, pois se for o caso das array acabarem, eu teria que criar uma nova e copiar os valores da antiga para a nova. Felizmente, existem funções em C# que ajudam bastante... Não me recordo o nome da função, mas ela é equivalente ao ds_list do GM e tem uma função para converter a lista em uma array se achar necessário.

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [HELP] declarando arrays

Mensagem por AlexBosquin em Sab 11 Jan 2014, 15:18

mano eu não quero que todas elas sejam iguais e sim que ele faça que somente o valor inicial seja c_blue, mas que eu possa modifica-las separadamente por exemplo cor1[0]=c_aqua
cor1[1]=c_gray

isso que quero xD

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Re: [HELP] declarando arrays

Mensagem por Willy em Sab 11 Jan 2014, 15:26

Então está certo ué. O for que eu usei serve apenas para popular a array toda com c_blue, ou seja, o "valor inicial". Você pode alterar seu valor a qualquer momento sem problema nenhum...

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [HELP] declarando arrays

Mensagem por chicoweb em Sab 11 Jan 2014, 16:16

Só ressaltando que se vc declarqr isso:

cor1[125] = c_blue

Vai dar erro se tentar ler isso:

cor1[128] = c_blue

Pq vc so declarou ate o 125 e dá erro dizendo que o index está fora do tamanho do vetor.

Então faz logo isso:

cor1[500] = c_blue

E elimina esse erro que torrou minha cabeça um dia, assim ate parece ridiculo, mas vai descobri isso num codigo de jogo grande e embolado igual ta o meu primeiro jogo kkkkkkk.

chicoweb

Ranking : Nota C
Número de Mensagens : 666
Idade : 40
Data de inscrição : 15/05/2012
Notas recebidas : B+C
Reputação : 49
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [HELP] declarando arrays

Mensagem por AlexBosquin em Sab 11 Jan 2014, 21:22

@Willy Cara muito obrigado mesmo funcionou do jeito que eu queria, me economizou muito trabalho, vlw mesmo xDDDDDDDD

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Re: [HELP] declarando arrays

Mensagem por Conteúdo patrocinado Hoje à(s) 06:29


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum