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
» Colisões não funcionando
por RastaMaan Ontem à(s) 19:49

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Ontem à(s) 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

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

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

» 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


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

- Tópicos semelhantes

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