[DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

100% [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por Adriano Heartless em Qui 05 Jul 2012, 17:59

Ola pessoal O/

Bom, acho que essa dúvida é fácil já até consegui fazer isso...o problema que o jogo fica extremamente pesado Mad

Ai eu pergunto, tem uma forma de fazer particulas na tela seguindo um objeto sem deixar o jogo travando?

Bom...tem um objeto que sempre vai ficar seguindo a tela. E fazendo um certo tipo de movimento na tela. Eu queria para deixar um efeito legal que enquanto esse objeto ficasse se movimentando um efeito de particula seguisse ele...porem parece que o único jeito seria colocar ele no evento step....ai vem o pesado do game bounce


Última edição por Adriano Heartless em Sex 06 Jul 2012, 15:01, editado 1 vez(es)

Adriano Heartless

Número de Mensagens : 95
Idade : 27
Data de inscrição : 12/02/2011
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://ganelse.blogspot.com.br/

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por Gonzo em Qui 05 Jul 2012, 18:34

Adriano Heartless acho que quanto maior a particula mais pesado fica e também acho q não tem como não deixar pesado, se vc pensa em fazer um show de efeitos pirotécnicos usando as particulas creio que seja requisito um PC mais potente pra não ficar evidente o lag, outra coisa q vc pode fazer tb, é criar uma gif do efeito que vc faria com a particula (requer abilidade) acho que é isso, mais tomara que alguem indique um modo, qual seria o tamanho da particula ?

Gonzo

Número de Mensagens : 927
Data de inscrição : 29/05/2012
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por Adriano Heartless em Qui 05 Jul 2012, 18:49

Ahh realmente eu percebi que o comando de particula é bem pesado e requisita um pc potente =/

o tamanho da particula é pequeno pq o objeto é um ponto de no maximo 32 x 32

n quero fazer um show pirotécnico YAHAYAHAYHAYH XD

Adriano Heartless

Número de Mensagens : 95
Idade : 27
Data de inscrição : 12/02/2011
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://ganelse.blogspot.com.br/

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por Esaucm98 em Qui 05 Jul 2012, 19:30

Mina do Rock escreveu:Adriano Heartless acho que quanto maior a particula mais pesado fica e também acho q não tem como não deixar pesado, se vc pensa em fazer um show de efeitos pirotécnicos usando as particulas creio que seja requisito um PC mais potente pra não ficar evidente o lag, outra coisa q vc pode fazer tb, é criar uma gif do efeito que vc faria com a particula (requer abilidade) acho que é isso, mais tomara que alguem indique um modo, qual seria o tamanho da particula ?

o problema não é o tamanho , é a quantidade, ou seja você pode sim fazer algo grande, dez de que não faça várias particulas e tenha certeza de destrui-las na hora certa..

Código:
part_type_destroy(ind)
part_emitter_destroy(ps,ind)

particulas não causam lag dez de que você não use muito.. use so oque for mesmo necessário e um meio para deixar o jogo um pouco mais rapido é destruindo as particulas se elas estiverem fora da view..

flw

Esaucm98

Ranking : Nota D
Número de Mensagens : 275
Data de inscrição : 13/05/2012
Notas recebidas : D
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.legioncrafters.tk

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por cascavelo em Qui 05 Jul 2012, 23:24

Você usou burst ou stream no step? Você fez algo errado, partículas não pesam tanto. Passa os códigos que usou que resolvo pra você.

cascavelo

Ranking : Nota A
Número de Mensagens : 1011
Idade : 46
Data de inscrição : 08/12/2011
Notas recebidas : A - A - A - A - A -A -C
Reputação : 71
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 1

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por Super Maker em Sex 06 Jul 2012, 00:24

Tem o part_type_life que pode está faltando no seu sistema de partículas.

Super Maker

Número de Mensagens : 646
Idade : 33
Data de inscrição : 09/07/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por saim em Sex 06 Jul 2012, 09:09

Adriano Heartless escreveu:Bom, acho que essa dúvida é fácil já até consegui fazer isso...
(...)
fazer particulas na tela seguindo um objeto
Partículas não seguem objetos. Uma forma meia-boca de criar esse efeito é criar muitas partículas com vida muito curta. Uma forma bonita é criar objetos que se comportam como partículas. Acho que não preciso dizer qual é mais pesado.
Talvez seja mesmo algum problema no seu código. Como você conseguiu o efeito?

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por cascavelo em Sex 06 Jul 2012, 12:07

Saim, acho que ele quer deixar um rastro de partículas na tela e se não souber uns macetes deixa o jogo bem lento. Curto muito este tipo e efeito, tive que estudar muito pra entender bem como funciona, fiz até um jogo inteiro que é baseado em partículas (copacabana). Mesmo fazendo um monte de coisas erradas na época o jogo funciona bem, vou até fazer uma atualização dele nos próximos dias.

cascavelo

Ranking : Nota A
Número de Mensagens : 1011
Idade : 46
Data de inscrição : 08/12/2011
Notas recebidas : A - A - A - A - A -A -C
Reputação : 71
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 1

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por Adriano Heartless em Sex 06 Jul 2012, 15:00

eeehhh \o/

Vlw pela dica pessoal consegui resolver o problema de lentidão do jogo xD

No caso o objeto ele segue um path e o efeito de particula segue o objeto deixando um rastro onde ele passa...é muito legal esse efeito *-*

Consegui resolver colocando somente no step os comandos part_emitter_region e o part_emitter_stream como o cascavelo falou

E ao finalizar a room eu adicionei as dicas do Esaucm98 Happy

ai depois para testar eu deixei a room aberta por muito tempo perto do objeto para ve se estava criando particulas desnecessarias e pelo visto funcionou legal LOL

Agora só falta saber a difença de stream para burst

Adriano Heartless

Número de Mensagens : 95
Idade : 27
Data de inscrição : 12/02/2011
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://ganelse.blogspot.com.br/

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por cascavelo em Sex 06 Jul 2012, 16:01

Quem bom que tenha resolvido, é mais ou menos isto aí.
Vou tentar lhe explicar a diferença dos dois:
- Stream: Solta partículas continuamente, na quantidade que você determinou, é para se usado no create, quando o objeto não se move.

- Burst: Solta somente o número de partículas determinados uma vez se for usado no create, se estiver no step vai soltar este número de partículas a cada vez que o loop passar pelo comando burst, o ideal é usar 1 como número de partículas ou menos, pois a cada segundo serão geradas 30 partículas pra uma room com velocidade de 30. No seu caso é melhor usar o burst e regular o número de partículas até atingir o efeito desejado, já que o objeto se move, em alguns casos pode ser necessário usar o stream no step se o efeito não for satisfatório com o burst, mas vai pesar um pouco mais.

cascavelo

Ranking : Nota A
Número de Mensagens : 1011
Idade : 46
Data de inscrição : 08/12/2011
Notas recebidas : A - A - A - A - A -A -C
Reputação : 71
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 1

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por saim em Sex 06 Jul 2012, 16:12

Não, no step, usa-se burst. Se ficarem poucas partículas, aumente o número de partículas. O tempo de vida delas dará cabo do excesso. (exemplo: 20 partículas/step, tempo de vida = 30 steps, máximo de 30 * 30 = 600 partículas na tela).

Usar o strem no create é como usar o burst no step, o que muda é a forma de programar. Pra usar um emitter móvel, o melhor é usar burst.

Usar stream no step é como usar instance_create(x, y, object_index) no step. Em pouco tempo seu jogo estará hiperpopulado.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por cascavelo em Sex 06 Jul 2012, 21:05

Saim, acho que você está equivocado.
Stream pode ser usado no step para objetos em movimento, acabei de testar.
Quando você muda o emitter de lugar o anterior é automaticamente destruido.
Sua explicação para burst não tá legal, a minha também não.
Na verdade burst é usado quando queremos que o efeito tenha um final, como uma explosão por exemplo.
E stream é usado quando queremos que as particulas fiquem jorrando continuamente do emitter.
Mas para fazer um rastro na tela processos diferentes podem ser usados, depende do que se deseja.

cascavelo

Ranking : Nota A
Número de Mensagens : 1011
Idade : 46
Data de inscrição : 08/12/2011
Notas recebidas : A - A - A - A - A -A -C
Reputação : 71
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 1

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por GameMakerTutoriais em Sex 06 Jul 2012, 23:42


O stream é como se fosse uma propriedade do emitter. É o mesmo processo do burst, só que feito automaticamente a cada step. Ele não deixa o jogo pesado se for colocado no step, mas é desnecessário ficar redefinindo isso o tempo todo, porque o que conta pra fazer movimentos é a região do emitter.

Entre colocar stream ou burst no step, o correto seria o burst com uma quantidade variável de partículas (ou não justificaria estar no step), porque o stream pode ser colocado uma única vez no create (e a região do emitter alterada no step).

Falou!

GameMakerTutoriais

Número de Mensagens : 800
Data de inscrição : 29/01/2011
Reputação : 26
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por saim em Qua 11 Jul 2012, 00:37

Foi um erro de interpretação.
part_emitter_burst(ps,ind,parttype,number) Bursts once number particles of the indicated type from the emitter.
part_emitter_stream(ps,ind,parttype,number) From this moment on create number particles of the indicated type from the emitter in every step. If you indicate a number smaller than 0 in each step a particle is generated with a chance of -1/number. So for example with a value of -5 a particle is generated on average once every 5 steps.
Baseado no texto em negrito, achei que o emitter aceitaria todos os comandos stream em sequencia. De fato, testar mostra que não é o que acontece. Parece que o comando, usado fora do create, altera o emitter pra criar o tal número de partículas/step. O que pode hiperpopular o jogo, então, é criar mais e mais emmiters por step.

Gafe minha.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por GameMakerTutoriais em Qua 11 Jul 2012, 09:52


A ideia de "emitter" é um por região. Em relação a desempenho (ou controle), é melhor criar mais ou menos partículas do que mais emitters. Pra criar poucas é só colocar um número negativo no stream (o help diz isso). E pra interromper é só definir o stream como zero. O termo "stream" já é sugestivo de "fluxo".

GameMakerTutoriais

Número de Mensagens : 800
Data de inscrição : 29/01/2011
Reputação : 26
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

100% Re: [DÚVIDA] particula seguir objeto sem fazer o jogo ficar pesado

Mensagem por Conteúdo patrocinado Hoje à(s) 22:27


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum