I figured that making a fadeout transition with the new GUI system would be easy, my plan was: create a black panel (Image component) that fills the whole screen, control the alpha with a Mathf.Lerp and there! fadeout accomplished!.. the problem is, I have no idea how to access the alpha of the Image Component… is there a way to do that? or maybe an even easier way to do fadeouts/fadeins with this new Gui system? thanks in advance!
Use a CanvasGroup component on the parent panel (not the Image), and fade the Alpha of that.
using UnityEngine;
using System.Collections;
public class GUIFadeScript : MonoBehaviour {
public CanvasGroup fadeCanvasGroup;
public IEnumerator FadeToBlack(float speed)
{
while (fadeCanvasGroup.alpha < 1f)
{
fadeCanvasGroup.alpha += speed * Time.deltaTime;
yield return null;
}
}
}
You should use the gui element’s color field.
color.a represents the alpha value, so that’s what you should change.
Thanks a lot! but when using this code:
myImage.color = new Color(0.0f, 0.0f, 0.0f, Mathf.Lerp(myImage.color.a, 0.0f, 255f * Time.deltaTime));
I’m getting this error: “Object Reference not set to an instance of an object” what’s up with that? ![]()