elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Alguien experto que me ayude con una ecuación?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Alguien experto que me ayude con una ecuación?  (Leído 1,499 veces)
gonzalitosk8

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Alguien experto que me ayude con una ecuación?
« en: 11 Junio 2015, 16:46 pm »

Buenos días! espero que estén todos muy bien! paso a comentar lo que quiero hacer, pero no puedo plasmarlo!

estoy tratando de hacer un sonido del motor de un auto en c#, con sus respectivos sonidos básicos (low, mid, high y offlow, offmid, offhigh)
pude construir algo muy básico.

ejemplo de lo que tengo:

Código
  1. if(dt.rpm > 800){ // las revoluciones del motor
  2. float factor=drivetrain.rpm/drivetrain.maxRPM;
  3.  {if (!LowSource.isPlaying) LowSource.Play();}
  4.  LowSource.volume = 0.1f;
  5.  LowSource.pitch= 0.1f + LowPitchFactor*factor+0.15f;
  6. }

como puse en ese guion, lo tengo hecho 10 veces por cada audio (low, mid, high)
para que en cada uno, el volumen aumente 0.1 llegando a la rpm que le marque.

osea:

Código
  1. if(dt.rpm > 1200){
  2. LowSource.volume = 0.2f;
  3.  
  4. }
  5. if(dt.rpm > 1500){
  6. LowSource.volume = 0.3f;
  7.  
  8. }
y asi sucecivamente hasta llega a el volumen maximo..

mi pregunta seria, como puedo hacer para que el sonido del motor aumente suavemente entre dos floats?

ejemplo

float minimo = 1000, el volumen seria 0
float maximo = 3500, el volumen seria 1

entre esos dos floats el volumen comience a aumentar de 0 a 1 suave!


Mod: Los códigos dene llevar Etiquetas GeSHi, movido a .net


« Última modificación: 11 Junio 2015, 16:54 pm por engel lex » En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Alguien experto que me ayude con una ecuación?
« Respuesta #1 en: 11 Junio 2015, 19:39 pm »

Lo que puedes hacer es una relación entre ambos valores, es decir:

maximo - minimo = 1000 - 3500 = 2500 y después la diferencia entre tus valores 0 y 1, o sea:

1 - 0 = 1 y sacas la relación 1 / 2500 = 0.0004

De esta manera, en vez de los 'if' utilices algo como:

Código
  1. LowSource.volume = dt.rpm * 0.0004f;

Espero que te sirva de algo, saludos.


En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
UN EXPERTO QUE ME AYUDE CON EL PCSX2 !!! URGENTE !!!
Juegos y Consolas
miguel9595 1 2,194 Último mensaje 19 Diciembre 2009, 23:02 pm
por Ariath
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines