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


For (Looping) gente, toh me matando aki o.o

4 participantes

Ir para baixo

For (Looping)   gente, toh me matando aki o.o Empty For (Looping) gente, toh me matando aki o.o

Mensagem por Froidz Qua 30 Dez 2009, 07:19

Bom pessoal, estou aqui por que esta duvida ta me matando...
Eu gostaria de saber como usar o for, achei um exemplo no help do gm:

Código:
{
  for (i=0; i<=9; i+=1) list[i] = i+1;
}

Eu ateh consigo usa-lo, mas nao consigo fazer com que o valor i soh seja adicionado caso eu pressione a tecla ENTER. Sempre da erro quando eu tento adicionar a variavel valor[i], diz que ela nao existe ou que o array nao existe..

Ajudem, plz.
Valeu! o/
Froidz
Froidz

Data de inscrição : 03/08/2008
Reputação : 4
Número de Mensagens : 1053
Prêmios : For (Looping)   gente, toh me matando aki o.o 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

For (Looping)   gente, toh me matando aki o.o Empty Re: For (Looping) gente, toh me matando aki o.o

Mensagem por All-x Qua 30 Dez 2009, 10:07

Bom, pelo jeito você vai ter que declarar o "i" no create também. Fiz isso e funcionou, coloca i=0 no create que resolve.

FLWS!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : For (Looping)   gente, toh me matando aki o.o Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 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
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

For (Looping)   gente, toh me matando aki o.o Empty Re: For (Looping) gente, toh me matando aki o.o

Mensagem por Froidz Qua 30 Dez 2009, 10:36

Poh kra, eu toh ficando loko aki, esse ai eh o exemplo do gm, o que eu tentei fazer foi meio que diferente...

Aqui, eu consegui fazer o loop:

Código:
for (i=0; i<=100; i+=10) {
valor[i] = i-10
draw_rectangle(valor[i]+10,valor[i]+10,valor[i],valor[i],0)
}

Mas o problema não é esse, tipo, é, e não é, entendeu? xD
Assim, coloca esse código no evento Draw, veja que aparecerão 10 quadradinhos na diagonal, mas o que eu quero fazer mesmo, é criar cada um desses quadradinhos em posições diferentes (mouse_x,mouse_Y), e eu infelizmente não tenho mta experiencia com for =/

Valeu! o/


Última edição por Froidz em Qua 30 Dez 2009, 10:37, editado 1 vez(es) (Motivo da edição : erro de portugues xD)
Froidz
Froidz

Data de inscrição : 03/08/2008
Reputação : 4
Número de Mensagens : 1053
Prêmios : For (Looping)   gente, toh me matando aki o.o 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

For (Looping)   gente, toh me matando aki o.o Empty Re: For (Looping) gente, toh me matando aki o.o

Mensagem por All-x Qua 30 Dez 2009, 10:55

Bom, deixa e ver se eu entendi, você quer criar os quadrados em posições diferentes e em relação ao mouse? Eu sei usar bem o For, só não estou entendendo o que tu quer fazer.

MSN: afalexfc426@gmail.com

FLWS!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : For (Looping)   gente, toh me matando aki o.o Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 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
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

For (Looping)   gente, toh me matando aki o.o Empty Re: For (Looping) gente, toh me matando aki o.o

Mensagem por Janx Qua 30 Dez 2009, 13:04

Você quer apenas uma linha e mais colunas? Apenas uma coluna com várias linhas? Mais do que uma coluna e linha?

Código:
//Apenas uma coluna
for (l=0; l<5; l+=1)
{
xx = mouse_x;
yy = mouse_y+l*30+l*5; //30 = tamanho vertical de cada quadrado 5 = diferença de pixels para cada quadrado
draw_rectangle(xx, yy,xx+60, yy+30,0);
}

Código:
//Apenas uma linha
for (c=0; c<5; c+=1)
{
xx = mouse_x+c*30+c*5; //30 = tamanho horizontal de cada quadrado 5 = diferença de pixels para cada quadrado
yy = mouse_y;
draw_rectangle(xx, yy, xx+30, yy+30,0); //30 = tamanho horizontal/vertical de cada quadrado
}

ou você pode fazer os 2 juntos usando 2 for:
Código:
//Se você deixar como uma linha (l<1), vai ficar como o segundo exemplo
for (l=0; l<3; l+=1) //Linhas
{
    //Se você deixar como uma coluna (c<1), vai ficar como o primeiro exemplo
    for (c=0; c<5; c+=1) //Colunas
    {
    xx = mouse_x+c*30+c*5;
    yy = mouse_y+l*30+l*5;
    draw_rectangle(xx, yy, xx+30, yy+30,0);
    }
}

Usando o terceiro exemplo você pode fazer os outros 2.
Claro que você pode aprimorar isso do jeito que quiser.

Flwss
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : For (Looping)   gente, toh me matando aki o.o Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

For (Looping)   gente, toh me matando aki o.o Empty Re: For (Looping) gente, toh me matando aki o.o

Mensagem por Froidz Qua 30 Dez 2009, 16:55

Bom, não é bem isso...
É o seguinte, o negócio de desenhar os quadrados eu já saquei, mas o problema, é que
não quero criar todos os quadrados de uma vez. Assim, eu clico com o mouse, ai aparece 1 quadrado, e dependendo de onde eu clicar, outros quadrados aparecerão. Então, vocês devem me perguntar:

-Mas por que não criar um objeto a cada clique?

Pois quero saber isso para poupar memória, vários objetos deixam o programa muito lento, nem a cleanmem (dll para reduzir gastos de memória do gm), então usando o comando draw_rectangle deixa o programa mais lento e mais fácil de ser manipulado, é como se cada quadradinho fosse um objeto com 1 sprite, entenderam?

Agradeço a ajuda.
Valeu! o/
Froidz
Froidz

Data de inscrição : 03/08/2008
Reputação : 4
Número de Mensagens : 1053
Prêmios : For (Looping)   gente, toh me matando aki o.o 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

For (Looping)   gente, toh me matando aki o.o Empty Re: For (Looping) gente, toh me matando aki o.o

Mensagem por Kabeção Qua 30 Dez 2009, 20:40

Crie uma variavel n = -1 (se a array valor[i] começa do 0, se começar do 1 coloque n = 0).
Toda vez que clicar com mouse:
Código:
n += 1;
valor_x[n] = mouse_x;
valor_y[n] = mouse_y;

Para desenhar:
Código:
for (i = 0; i <= n ; i += 1) {
draw_rectangle(valor_x[i]+10,valor_y[i]+10,valor_x[i],valor_y[i],0)
}

Mesmo que o exemplo não de certo, a ideia principal é essa, criar uma variavel que guarda quantos quadrados há e duas arrays que guardam o x e o y deles com o indice igual ao numero n do quadrado.
Kabeção
Kabeção

Games Ranking : Sem avaliações

Data de inscrição : 08/06/2008
Reputação : 100
Número de Mensagens : 2314
Prêmios : For (Looping)   gente, toh me matando aki o.o Empty

Medalhas x 0 Tutoriais x 7 Moedas x 0

Ouro x 3 Prata x 0 Bronze x 1

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

http://blackcapapps.blogspot.com.br/

Ir para o topo Ir para baixo

For (Looping)   gente, toh me matando aki o.o Empty Re: For (Looping) gente, toh me matando aki o.o

Mensagem por All-x Qua 30 Dez 2009, 21:35

Kabeção, tu vai pensa que copie de tu, mas eu fiz esse código sem olhar o seu, parece muito, mas eu tenho certeza absoluta que não olhei o seu XD. Eu consegui fazer, é só clocar isso no create:

Código:
a=0
xx=0
yy=0

e isso no draw:

Código:
if mouse_check_button_pressed(mb_left)
{
a+=1
xx[i]=mouse_x
yy[i]=mouse_y
}

for(i=0 i<a i+=1)
{
draw_rectangle(xx[i],yy[i],xx[i]+50,yy[i]+50,0)
}

Testei aqui e deu certo, Ok?

FLWS!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : For (Looping)   gente, toh me matando aki o.o Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 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
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

For (Looping)   gente, toh me matando aki o.o Empty Re: For (Looping) gente, toh me matando aki o.o

Mensagem por Froidz Qua 30 Dez 2009, 22:43

Caramba Alex, valeu kra, valeu mesmo! =D
Agora posso continuar com o criador de músicas para o The Show Of Rock 3D, pq
com vários objetos a música iria tocando em velocidade normal e o jogo iria ficando lento..
atrapalhando na sincronia da música no programa com a do jogo.

Valeu mesmo hein, vcs dois, o do kabeção não deu muito certo, mas valeu assim mesmo hein kra o/
Valeu! o/
Froidz
Froidz

Data de inscrição : 03/08/2008
Reputação : 4
Número de Mensagens : 1053
Prêmios : For (Looping)   gente, toh me matando aki o.o 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

For (Looping)   gente, toh me matando aki o.o Empty Re: For (Looping) gente, toh me matando aki o.o

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


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