[pedido] Volume de acordo com a distancia

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

[pedido] Volume de acordo com a distancia

Mensagem por Tedi Ripper em Ter 05 Jul 2011, 23:05

oi galera, eu queria saber como fazer pra quanto mais perto um objeto estiver do player, mas alto fica o som que ele solta.
ajudem me, por favor.
flw

Tedi Ripper

Ranking : Nota C
Número de Mensagens : 765
Idade : 19
Data de inscrição : 21/11/2010
Notas recebidas : C
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [pedido] Volume de acordo com a distancia

Mensagem por saim em Qua 06 Jul 2011, 09:23

Defina uma distância máxima pra tocar o som. Distâncias maiores que essa terão volume=0
Daí, o valor do volume (que deve varia de 0 a 1) será um menos a distância atual dividida pela distância máxima (ou zero, caso a distância atual seja maior que a máxima)
madist=distância máxima
dist=distância atual
Código:
sound_volume(som, max(1-dist/maxdist, 0))

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

Re: [pedido] Volume de acordo com a distancia

Mensagem por Tedi Ripper em Qua 06 Jul 2011, 20:18

legal cara, vou testar os codigos daqui a pouco, depois dou um edit e coloco resolvido (se for o caso).
flw

---edit---
não funcionou!!!!
ele nao da erro nos scripts, mas o som continua igual!
help meeeee

Tedi Ripper

Ranking : Nota C
Número de Mensagens : 765
Idade : 19
Data de inscrição : 21/11/2010
Notas recebidas : C
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [pedido] Volume de acordo com a distancia

Mensagem por Igor KinGamer em Qua 06 Jul 2011, 21:46

No lugar de dist (distância atual) você não deve colocar um valor constante, mas sim o valor da distância em tempo real, que pode ser medido com a função point_distance(x1, y1, x2, y2), sendo (x1, y1) a posição do player e (x2, y2) a do objeto (ou vice-versa).

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [pedido] Volume de acordo com a distancia

Mensagem por Markituh em Qua 06 Jul 2011, 22:41

Hmmm... Sempre quis fazer algo parecido. Saim, por acaso nesse seu código a distância máxima teria que obrigatoriamente ser 100? Visto que 1/100 vai dar 0,01, que seria 1% de volume, já que 0 seria 0% e 1 seria 100%. Não obrigatoriamente, mas para retornar um valor satisfatório

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [pedido] Volume de acordo com a distancia

Mensagem por Igor KinGamer em Qui 07 Jul 2011, 09:00

Não. Qualquer distância máxima produziria um "valor satisfatório". Sempre, o valor resultante será algo entre 0 e 1, e é isso que importa.
Não sei se uma variação menor que 0,01 produz algum efeito, mas pelo menos não produz nenhum "defeito".
Além de que, geralmente, uma distância de 100 pixels seria muito pouco.

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [pedido] Volume de acordo com a distancia

Mensagem por saim em Qui 07 Jul 2011, 09:46

Os exemplos que vêm com o game maker fazem a gente ter essa mania de valores redondos...
Não, uma porcentagem pode ser relativa a qualquer valor. Pode até ser um valor desconhecido, desde que calculável (tipo a diagonal da room, por exemplo, que é point_distance(0, 0, room_width, room_height)).
O "max" existe pra quando a distância atual for MAIOR que a máxima. Nesse caso, dist/maxdist será maior que 1 e (1-dist/maxdist) será negativo - e eu não faço idéia do que acontece nesse caso. Talvez o som simplesmente não apareça, eliminando a necessidade do "max".

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

Re: [pedido] Volume de acordo com a distancia

Mensagem por GraderA em Qui 07 Jul 2011, 09:58

Nesse caso, eu acho que deve se limitar a visão da room somente ao espaço do personagem a ser utilizado, fazendo com que não haja toda essa complicação aí.

GraderA

Número de Mensagens : 35
Data de inscrição : 07/07/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [pedido] Volume de acordo com a distancia

Mensagem por Tedi Ripper em Qui 07 Jul 2011, 17:09

hey, mas eu usei distance_to_object(), isso não funciona???

Tedi Ripper

Ranking : Nota C
Número de Mensagens : 765
Idade : 19
Data de inscrição : 21/11/2010
Notas recebidas : C
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [pedido] Volume de acordo com a distancia

Mensagem por saim em Qui 07 Jul 2011, 17:30

se for no step event, sim. teoricamente. eu não testei.

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

Re: [pedido] Volume de acordo com a distancia

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


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