Buscar
Login
Últimos assuntos
» Começando com o Construct 2por lucasrodrix Sab Maio 05, 2012 9:51 pm
» [TRFN][BATCH+GML]Atualização de Jogo
por Kevin Qua Dez 28, 2011 12:26 pm
» [TRFN][Engine]Cheats e Trapaças durante o jogo(estilo GTA San Andreas)
por trfn Sab Dez 10, 2011 5:04 pm
» [TRFN]Novos Botões para os tópicos
por Dancity Sab Dez 10, 2011 4:52 pm
» [TRFN][Engine]Janela personalizada sem complicações
por trfn Sab Dez 10, 2011 4:01 pm
» [C++] Melhor Compilador.
por trfn Sab Dez 10, 2011 3:57 pm
» [STC] Apresentando Stencyl Works
por Dancity Sab Dez 10, 2011 2:10 pm
» [Engine]Hud personalizada
por Dancity Sab Dez 10, 2011 2:07 pm
» ola pessoal.......
por trfn Sab Dez 10, 2011 11:05 am
» [TGM] Apresentando Tululoo Game Maker
por trfn Sab Dez 10, 2011 10:53 am
Os membros mais ativos da semana
[Resolvido][GML] É normal o while bugar o seu GM?
Página 1 de 1 • Compartilhe •
[Resolvido][GML] É normal o while bugar o seu GM?
então... eu to usando aqui o Game maker e toda vez que eu uso qualquer código que envolva o "WHILE" o game maker para de funcionar e trava. Com você acontece isto também? tem como resolver isto? (EX: whili colidindo == true {do something}; quando ele colide o GM para de funcionar.)

Thomaz- Warning:




Mensagens: 8
Nível: 199
Data de inscrição: 14/11/2011
Re: [Resolvido][GML] É normal o while bugar o seu GM?
Se você colide uma vez e não faz nada para sair, a colisão será sempre verdadeiro.. portanto o while vai durar para sempre (resultado: trava)

Novo de fórum, velho de alma.

Evite me enviar dúvidas de GML pessoalmente, crie um tópico para a mesma.

Evite me enviar dúvidas de GML pessoalmente, crie um tópico para a mesma.
Re: [Resolvido][GML] É normal o while bugar o seu GM?
Mas isto não é normal?o while não executa algo "enquanto" acontece outro?
Se possível, alguém que saiba, poderia me dar um exemplo de um while que não dê bug?
Se possível, alguém que saiba, poderia me dar um exemplo de um while que não dê bug?

Thomaz- Warning:




Mensagens: 8
Nível: 199
Data de inscrição: 14/11/2011
Re: [Resolvido][GML] É normal o while bugar o seu GM?
faça assim:
abra um novo game no GM (apenas pra vc ver como funciona basicamente o While)
crie uma sprite
crie 2 Objetos
em 1 Objeto vc coloca o seguinte script (no STEP):
no outro coloca ele como Sólido
crie uma ROOM, coloque VÁRIOS objetos (do que você colocou como sólido) na room, mais deixe uns espaços vagos... pois o objeto 1 irá transitar por eles...
pegue o objeto0 (o 1º criado que tem o COD no step)... e coloque em alguma posição na room... apenas 1 oBJETO DELE...
agora teste a room... o objeto que tem o COD no step irá andar e quando colidir com um objeto sólido ele muda de posição, mais vc percebe que ele vai pra um lugar vago, sem ficar dando Pulos (se vc fizesse com IF daria pra ver ele ficando em cima dos outros objetos e depois indo pra um lugar vago)
se quiser testar com o IF.. SÓ TROCAR O WHILE por if
EXEMPLO:
e PQ o WHILE trava? =O
pq ele só executa a ação quando o Próximo step for falso a verificação dele...
ou seja.. vamos pegar esse exemplo...
quando ele tiver colidindo com o objeto solid ele é randomizado na posição X e Y para uma posição da room... só que... se a próxima posição X e Y dele randomizada ele ainda tiver colidindo com o objeto solido, ele vai tentar denovo, e assim consecutivamente até ele achar um lugar vago...
por isto que trava, quanto mais pro futuro a ação WHILE terá que ver, mais o Jogo irá travar, porque ele naum executará (continuará o jogo) enquanto aquela verificação for TRUE.
tendeu? =D
se naum só falar amigo
aqui vai uma ENGINE exemplo:
http://www.crocko.com/75FBCDC900204DE4A0B42C2A478C04A3/while%20example.gmk
ABRAÇO
té+
abra um novo game no GM (apenas pra vc ver como funciona basicamente o While)
crie uma sprite
crie 2 Objetos
em 1 Objeto vc coloca o seguinte script (no STEP):
- Código:
while (!place_free(x,y))
{
x = random(room_width);
y = random(room_height);
}
hspeed=2
if x>room_width x=0
no outro coloca ele como Sólido
crie uma ROOM, coloque VÁRIOS objetos (do que você colocou como sólido) na room, mais deixe uns espaços vagos... pois o objeto 1 irá transitar por eles...
pegue o objeto0 (o 1º criado que tem o COD no step)... e coloque em alguma posição na room... apenas 1 oBJETO DELE...
agora teste a room... o objeto que tem o COD no step irá andar e quando colidir com um objeto sólido ele muda de posição, mais vc percebe que ele vai pra um lugar vago, sem ficar dando Pulos (se vc fizesse com IF daria pra ver ele ficando em cima dos outros objetos e depois indo pra um lugar vago)
se quiser testar com o IF.. SÓ TROCAR O WHILE por if
EXEMPLO:
- Código:
if (!place_free(x,y))
{
x = random(room_width);
y = random(room_height);
}
hspeed=2
if x>room_width x=0
e PQ o WHILE trava? =O
pq ele só executa a ação quando o Próximo step for falso a verificação dele...
ou seja.. vamos pegar esse exemplo...
quando ele tiver colidindo com o objeto solid ele é randomizado na posição X e Y para uma posição da room... só que... se a próxima posição X e Y dele randomizada ele ainda tiver colidindo com o objeto solido, ele vai tentar denovo, e assim consecutivamente até ele achar um lugar vago...
por isto que trava, quanto mais pro futuro a ação WHILE terá que ver, mais o Jogo irá travar, porque ele naum executará (continuará o jogo) enquanto aquela verificação for TRUE.
tendeu? =D
se naum só falar amigo
aqui vai uma ENGINE exemplo:
http://www.crocko.com/75FBCDC900204DE4A0B42C2A478C04A3/while%20example.gmk
ABRAÇO
té+
Re: [Resolvido][GML] É normal o while bugar o seu GM?
Agora eu entendi! vlw ._. pode trancar se quiser.
Tópico Trancado
Tópico Trancado

Thomaz- Warning:




Mensagens: 8
Nível: 199
Data de inscrição: 14/11/2011
Página 1 de 1
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum










