can't get sound to fade out, only to fade in
Think o f this code as engine noise. when I press W (gas peddle) to move, the engine sound fades up to a rev, when I let up on W, I want the engine sound to fade down. I have working scripts that fade in and out onTriggerEnter and onTriggerExit and this is basically that with keypress substituted for entering trigger zones
using UnityEngine;
using System.Collections;
public class waterFading : MonoBehaviour {
AudioSource source;
public float speedIn = .4f;
public float speedOut = .1f;
public float maxV = .5f;
public float minV = .05f;
public bool moving;
void Awake() {
source = GetComponent<AudioSource>();
}
void Start(){
moving = false;
}
void Update(){
if(moving == false)
{
if(source.volume > minV)
{
source.volume -= Time.deltaTime * speedOut;
}
}
if (Input.GetKey(KeyCode.W))
{
moving = true;
if(source.volume < maxV)
source.volume += Time.deltaTime * speedIn;
}
if (Input.GetKeyUp(KeyCode.W))
{
moving = false;
}
}
}
Answer by shadowpuppet · Jun 20, 2017 at 03:00 PM
OMG!!! it never fails, just when I give up and I post a question here I figure it out. That script above actually works. Being attempt #300, I assumed it would fail before trying it- even though it looked like it would work like attempts 1 -299, and jumped straight to Unity answers. My mistake was putting the fadeout function in the GetKeyUp so it only faded out for that split second. I needed something constant - like the GetKey - where it continually fades in while the key is pressed instead of a one shot key release. but i could have sworn I tried this already. But I think I combined the GetKeyUp with the moving = false statement and still had the fadeout in the getkeyup. I don't know. but it works so I am happy.
Your answer
Follow this Question
Related Questions
I'm getting an error CS1041: Identifier expected for my script? 0 Answers
Audio Fade In / Fade Out with Trigger 0 Answers
Audio.Stop() Causing click noise even when the volume is 0 0 Answers
Audio Fade With Toggle 1 Answer
I need help getting a sound to play when the E Key is pressed. (E will also load a new Scene). 2 Answers