Hello!
I’ve posted a similar question before, with no answer, however I’ve improved coding-wise and have scratch coded this so far. My issue is that A. This function does the same fadeIn/Out regardless (I recognize the code is the same for both, I’m just not sure what to do to reverse it) and B. the FadeIn/Out variables aren’t resetting back to false after they fade.
What am I doing wrong?
using UnityEngine;
using System.Collections;
public class FadeIn : MonoBehaviour {
public SpriteRenderer sprite;
public float fade = 0f;
public Color spriteColor = Color.white;
public bool fadeIn = true;
public bool fadeOut = false;
private float startTime = 0.0f;
public float fadeInTime = 1.5f;
public float fadeOutTime = 1.5f;
// Use this for initialization
void OnTriggerEnter2D () {
startTime = Time.time;
fadeIn = true;
}
void OnTriggerExit2D () {
startTime = Time.time;
fadeOut = true;
}
// Update is called once per frame
void Update () {
if(fadeIn==true){
print ("EnteringCar");
fade = Mathf.Lerp(0f, 1f, (Time.time - startTime) / fadeInTime);
spriteColor.a = fade;
sprite.color = spriteColor;
}
if(fade > 1){
fadeIn = false;
}
if(fadeOut==true){
print ("ExitingCar");
fade = Mathf.Lerp(0f, 1f, (Time.time - startTime) / fadeOutTime);
spriteColor.a = fade;
sprite.color = spriteColor;
}
if(fade < 1){
fadeOut = false;
}
}
}