Entrar
Últimos assuntos
» Procuro Programador de game makerpor Wou Sex 15 Mar 2024, 10:27
» Retorno da GMBR!!!
por vinians Qui 14 Mar 2024, 19:07
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» 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
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
[Resolvido]Loop?
+2
luan.alc
Kapoty
6 participantes
Página 1 de 1
[Resolvido]Loop?
Como fazer um "loop" sem travar o jogo?
Se eu usar por exemplo :
Irá travar o jogo.
Há alguma maneira "FACIL" e "RAPIDA" de se fazer um "loop" ?
Se eu usar por exemplo :
- Código:
for (x=0;x<=5;x+=1)
Irá travar o jogo.
Há alguma maneira "FACIL" e "RAPIDA" de se fazer um "loop" ?
Última edição por kapoty em Qui 13 Set 2012, 19:39, editado 5 vez(es)
Kapoty- Games Ranking :
Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: [Resolvido]Loop?
- Código:
i = 0
if i <=5 {
i += 1
}
Eu uso meus loop's assim ! espero que sirva !
luan.alc- Games Ranking :
Notas recebidas : B
Data de inscrição : 13/03/2012
Reputação : 3
Número de Mensagens : 294
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: [Resolvido]Loop?
só uma correção:
- Código:
i = 0
while i <=5 {
i += 1
}
Thiago_o_programador- Games Ranking :
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Reputação : 7
Número de Mensagens : 713
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: [Resolvido]Loop?
Resolvido!
Kapoty- Games Ranking :
Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: [Resolvido]Loop?
Eu vi que está resolvido, mas... porque isso travaria o jogo?kapoty escreveu:Como fazer um "loop" sem travar o jogo?
Se eu usar por exemplo :
- Código:
for (x=0;x<=5;x+=1)
Irá travar o jogo.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: [Resolvido]Loop?
Também já vi que foi resolvido, mas o i=0 no caso seria no CREATE de algum objeto .. então daria certo ! (;
luan.alc- Games Ranking :
Notas recebidas : B
Data de inscrição : 13/03/2012
Reputação : 3
Número de Mensagens : 294
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: [Resolvido]Loop?
saim escreveu:Eu vi que está resolvido, mas... porque isso travaria o jogo?kapoty escreveu:Como fazer um "loop" sem travar o jogo?
Se eu usar por exemplo :
- Código:
for (x=0;x<=5;x+=1)
Irá travar o jogo.
Bem, saim neste exemplo é claro que não travaria o jogo kkk mas e se no lugar eu colocasse :
- Código:
for (x=0;x<=500;x+=1){
for (y=0;y<=500;y+=1){
}}
show_message("Pronto!")
O jogo travaria demais!
Ah e não ta resolvido não por que olhe se eu for usar 2 loops ao memos tempo eu faria com o "for" desta maneira que mostrei acima, já com o jeito do luan.alc como ficaria ? deste jeito aqui não funciona :
- Código:
while x <=500 {
x += 1
while y <=500 {
y += 1
}}
show_message("Pronto!")
Ele pula as etapas desta maneira :
- Código:
x=1 y=1
x=1 y=2
x=1 y=3
...
x=1 y=501
Mostra a mensagem "Pronto!"
ps : Saim digamos assim que travaria o jogo por que o "for" faz todo o loop para depois continuar o codigo e se eu colocar no meio do loop para ir desenhando na room o numero que o loop se encontrá não daria certo por que ficaria travado, caso queira faço um exemplo e dou upload.
Kapoty- Games Ranking :
Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: [Resolvido]Loop?
Eu não sei o que quer fazer mas poderia fazer assim :
Create :
Step :
Esta seria uma via .. usando três variaveis , x,y,z
Create :
- Código:
x=0 && y=0 z = 501
Step :
- Código:
if x <=500 {x+=1}
if y<=500 {y+=1}
if x = z and y = z {Mostrar Mensagem "Pronto"}
Esta seria uma via .. usando três variaveis , x,y,z
luan.alc- Games Ranking :
Notas recebidas : B
Data de inscrição : 13/03/2012
Reputação : 3
Número de Mensagens : 294
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: [Resolvido]Loop?
Tanto o 'for' quanto o 'while' travaria do mesmo modo. Para não travar, você deve fazer uma açao a cada Step. Para fazer isso, faça o seguinte:
Evento Create
Flws!
}
Evento Create
- Código:
maximo = 500;
contador = 0;
- Código:
if (contador < maximo)
{
//ação aqui
contador += 1;
}
Flws!
}
Re: [Resolvido]Loop?
vinians escreveu:Tanto o 'for' quanto o 'while' travaria do mesmo modo. Para não travar, você deve fazer uma açao a cada Step. Para fazer isso, faça o seguinte:
Evento CreateEvento Step
- Código:
maximo = 500;
contador = 0;Assim voce vai executar uma vez a cada Step e não vai travar. Se precisar de outros loops basta seguir o mesmo padrão.
- Código:
if (contador < maximo)
{
//ação aqui
contador += 1;
}
Flws!
}
E como eu faria para fazer 2 loops ao mesmo tempo? e também isso seria muito demorado!
Kapoty- Games Ranking :
Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: [Resolvido]Loop?
Talvez isso não trave o jogo:
- Código:
for (x=0;x<=500;x+=1) {
for (y=0;y<=500;y+=1) {
//Códigos
screen_redraw();
}}
show_message("Pronto!");
Re: [Resolvido]Loop?
Não seria demorado não. O programa não trava de modo algum desse jeito que lhe mostrei. O tempo da execução da tarefa levaria N Steps e isso depende da velocidade que você colocar na room e do tamanho do contador. Além disso, você pode fazer N loops que a velocidade praticamente não varia, pois são loops paralelos. No caso de loops seriais (loop dentro de loop) a velocidade ficará definida pela multiplicação do tempo de cada loop encadeado. Você precisa dizer para que quer o loop para que possamos saber se ele pode ser paralelo ou se necessariamente tem que ser serial.
Flws!
Flws!
Re: [Resolvido]Loop?
@Vinians eu sei que a velocidade depende de cada step do jogo, no meu caso são 60 por segundo, oque quero dizer é que se for fazer um loop por step seria muito demorado.
@Luiz_eldorado era isso mesmo que eu queria, agora sim resolvido!
@Luiz_eldorado era isso mesmo que eu queria, agora sim resolvido!
Kapoty- Games Ranking :
Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: [Resolvido]Loop?
Ok, somente um comentário. O screen_redraw() não "destrava" o jogo ele apenas chama os eventos "draw" de cada objeto novamente, sendo necessário inclusive chamar o screen_refresh() para qua haja atualização da tela. Esse comando não existe nas novas versões do GM, caso você pretenda atualizar o seu game algum dia para o GM:S terá que arrumar outra solução.
Flws!
Flws!
Tópicos semelhantes
» [Resolvido]Parar som de Loop
» [Resolvido]Tirar loop de sprite?
» [Resolvido] Problemas com loop de execução de som
» [Resolvido]Loop de objetos na room
» loop de 360
» [Resolvido]Tirar loop de sprite?
» [Resolvido] Problemas com loop de execução de som
» [Resolvido]Loop de objetos na room
» loop de 360
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|