Entrar
Últimos assuntos
» Colisões não funcionandopor RastaMaan Hoje à(s) 19:49
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Hoje à(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
Uso do Draw Event
4 participantes
Página 1 de 1
Uso do Draw Event
Olá pessoal do fórum!
Venho aqui postar mais uma de minhas dúvidas e essa é sobre o draw em meu jogo.
Como vocês já devem ter visto em meu jogo (Black Tank) tudo o que está nas imagens e no jogo usa o Draw.
Para que o jogo não fique rodando a 5 FPS (muito lento demais ), eu usei as funções:
Então fica a dúvida: Se eu desativar o draw ao invés de desativar as instâncias fora da tela, irá ajudar a melhorar o desempenho do meu jogo ou existe outro método mais eficiente??
Obrigado pela paciência de quem leu a minha dúvida
PHProductions
Venho aqui postar mais uma de minhas dúvidas e essa é sobre o draw em meu jogo.
Como vocês já devem ter visto em meu jogo (Black Tank) tudo o que está nas imagens e no jogo usa o Draw.
Para que o jogo não fique rodando a 5 FPS (muito lento demais ), eu usei as funções:
- Código:
instance_activate_all();
instance_deactivate_region(view_xview,view_yview,view_wview,view_hview,false,true);
- Código:
//estes sao prioridade
instance_activate_object(obj_settings);
instance_activate_object(obj_display_settings);
instance_activate_object(obj_balao_fala);
instance_activate_object(obj_createflakes);
//estes nem tanto
instance_activate_object(obj_tnk_bullet);instance_activate_object(obj_particles);
instance_activate_object(obj_tnk_bullet02);instance_activate_object(obj_tnk_pisblt);
instance_activate_object(obj_explosion);instance_activate_object(obj_tank_ai1);
instance_activate_object(obj_tank_ai2);instance_activate_object(obj_tank_ai3);
instance_activate_object(obj_snowflake);instance_activate_object(obj_mine);
- Código:
draw_sprite_ext(sprite_index,0,x,y+zground,1,1,direction,-1,1);
draw_sprite_ext(sprite_index,1,x,(y-2)+z,1,1,direction,-1,1);
draw_sprite_ext(sprite_index,1,x,(y-4)+z,1,1,direction,-1,1);
draw_sprite_ext(sprite_index,1,x,(y-6)+z,1,1,direction,-1,1);
draw_sprite_ext(sprite_index,1,x,(y-8)+z,1,1,direction,-1,1);
draw_sprite_ext(sprite_index,1,x,(y-10)+z,1,1,direction,-1,1);
draw_sprite_ext(sprite_index,1,x,(y-12)+z,1,1,direction,-1,1);
draw_sprite_ext(sprite_index,2,x,(y-14)+z,1,1,rot_can1,-1,1);
draw_sprite_ext(sprite_index,2,x,(y-16)+z,1,1,rot_can1,-1,1);
draw_sprite_ext(sprite_index,2,x,(y-18)+z,1,1,rot_can1,-1,1);
draw_sprite_ext(sprite_index,3,x,(y-20)+z,1,1,rot_can1,-1,1);
draw_sprite_ext(sprite_index,3,x,(y-22)+z,1,1,rot_can1,-1,1);
Então fica a dúvida: Se eu desativar o draw ao invés de desativar as instâncias fora da tela, irá ajudar a melhorar o desempenho do meu jogo ou existe outro método mais eficiente??
Obrigado pela paciência de quem leu a minha dúvida
PHProductions
NPH- Games Ranking :
Notas recebidas : B
Data de inscrição : 28/11/2010
Reputação : 58
Número de Mensagens : 504
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 1.4
- Game Maker Studio 2.0
Re: Uso do Draw Event
Acho que você deve desativar numa distância maior.
Talvez funcione, tente colocar mais meia view, assim:
Talvez funcione, tente colocar mais meia view, assim:
- Código:
instance_deactivate_region(view_xview-(view_wview/2),view_yview-(view_hview/2),view_wview*2,view_hview*2,false,true);
Re: Uso do Draw Event
Não posso fazer isso, pois ocorre o mesmo bug de os inimigos ficarm presos.luiz_eldorado escreveu:Acho que você deve desativar numa distância maior.
Talvez funcione, tente colocar mais meia view, assim:
- Código:
instance_deactivate_region(view_xview-(view_wview/2),view_yview-(view_hview/2),view_wview*2,view_hview*2,false,true);
Obrigado pela ajuda, mas o bug continua a ocorrer e agora o jogo fica um pouco mais lento pois fica meia view maior, assim ficando com mais instâncias ativas.
O meu problema é com o draw.
NPH- Games Ranking :
Notas recebidas : B
Data de inscrição : 28/11/2010
Reputação : 58
Número de Mensagens : 504
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 1.4
- Game Maker Studio 2.0
Re: Uso do Draw Event
Faça com que todas as instâncias fora da tela fiquem com a variável visible igual a 0 (false).
Ou em uma linha:
E remova o código que você mostrou. O resultado é que o Draw do objeto não será executado.
Ah, a boa notícia é que as colisões vão funcionar normalmente.
Até mais!
- Código:
with(all)
{
visible=1;
if (x<view_xview)
if (y<view_yview)
if (x>view_xview+view_wview)
if (y>view_yview+view_hview)
visible=false;
}
Ou em uma linha:
- Código:
with(all)visible=(x>view_xview)&&(y>view_yview)&&(x<view_xview+view_wview)&&(y<view_yview+view_hview);
E remova o código que você mostrou. O resultado é que o Draw do objeto não será executado.
Ah, a boa notícia é que as colisões vão funcionar normalmente.
Até mais!
Última edição por PedroX em Qui 21 Mar 2013, 00:09, editado 1 vez(es)
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: Uso do Draw Event
Valew, vou testar imediatamente!
Dou um [EDIT] assim que eu testar.
Obrigado!
[EDIT]
aaaaaaaaaaaaaaaaaa
Funcionou perfeitamente!!!!!!!!!!!!!!!!!!!!!!!!
Muitíssimo obrigado pela dica de desativar o visible!!!!!!!!!!!!
PHProductions
Dou um [EDIT] assim que eu testar.
Obrigado!
[EDIT]
aaaaaaaaaaaaaaaaaa
Funcionou perfeitamente!!!!!!!!!!!!!!!!!!!!!!!!
Muitíssimo obrigado pela dica de desativar o visible!!!!!!!!!!!!
PHProductions
Última edição por PHProductions em Qua 20 Mar 2013, 20:30, editado 1 vez(es) (Motivo da edição : agradecer quem me ajudou!)
NPH- Games Ranking :
Notas recebidas : B
Data de inscrição : 28/11/2010
Reputação : 58
Número de Mensagens : 504
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 1.4
- Game Maker Studio 2.0
Re: Uso do Draw Event
Fico feliz de saber que funcionou. Em quantos está o FPS? Eu nem lembrava muito bem dessa 'técnica', mas ainda estava na memória.
Até mais!
Até mais!
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: Uso do Draw Event
.Lembrando que o
- Código:
visible=false
Thyago- Games Ranking :
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Uso do Draw Event
Agora o jogo roda com o FPS no máximo (digamos que o máximo é de 30 FPS) como deveria e sem bugs toscos!.PedroX escreveu:Fico feliz de saber que funcionou. Em quantos está o FPS? Eu nem lembrava muito bem dessa 'técnica', mas ainda estava na memória.
Até mais!
Valeu!
@Thyago:
O meu jogo é completamente criado usando funções do DRAW, como draw_sprite_ext, daí o problema, é que todas as instâncias utilizam o draw e cada instância tem 25 linhas de código em média, agora imagine 625 instâncias apenas em uma room:
625*25=15625 linhas no Draw sendo executados ao mesmo tempo a cada frame, dando um total de 468750 linhas por segundo.
Espero que tenha entendido e que não me tenha levado a mal...
NPH- Games Ranking :
Notas recebidas : B
Data de inscrição : 28/11/2010
Reputação : 58
Número de Mensagens : 504
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 1.4
- Game Maker Studio 2.0
Re: Uso do Draw Event
????...
.Porque levar a mal???
.Eu só disse para não por códigos,alem dos de desenhar...só isso
.Porque levar a mal???
.Eu só disse para não por códigos,alem dos de desenhar...só isso
Thyago- Games Ranking :
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Tópicos semelhantes
» (Bug?)(Ajuda) Draw event bugando minha room
» Step event ou key event pra andar
» [Resolvido]draw primitive e draw vertex...como usar?
» Pessoal, será que dá para fazer um jogo inteiro com um só Event????
» Game Maker Studio: onde está o Trigger Event?
» Step event ou key event pra andar
» [Resolvido]draw primitive e draw vertex...como usar?
» Pessoal, será que dá para fazer um jogo inteiro com um só Event????
» Game Maker Studio: onde está o Trigger Event?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|