error CS0103: The name `color' does not exist in the current context
I'm following this tutorial to make the scene fade to black before transitioning to another scene: https://www.youtube.com/watch?v=0HwZQt94uHQ
Even though this is a 2D tutorial, I am making a 3D game and the issue that I'm experiencing is that I'm receiving the following error:
error CS0103: The name `color' does not exist in the current context
This is what my script looks like:
using UnityEngine;
using System.Collections;
public class FadeIn : MonoBehaviour {
public Texture2D fadeOutTexture;
public float fadeSpeed = 0.0f;
private int drawDepth = -1000;
private float alpha = 1.0f;
private int fadeDir = -1;
void onGUI () {
alpha += fadeDir * fadeSpeed * Time.deltaTime;
alpha = Mathf.Clamp01 (alpha);
GUI.color = color (GUI.color.r, GUI.color.g, GUI.color.b, alpha);
GUI.depth = drawDepth;
GUI.DrawTexture ( Rect (0, 0, Screen.width, Screen.height), fadeOutTexture );
}
public float BeginFade (int direction) {
fadeDir = direction;
return (fadeSpeed);
}
void onLevelWasLoaded () {
BeginFade (-1);
}
}
All help and advice is greatly appreciated but I can't share any part of the game due to copyright reasons.
Answer by PizzaPie · May 31, 2017 at 09:04 AM
Replace line 19 with ->
GUI.color =new Color(GUI.color.r, GUI.color.g, GUI.color.b, alpha);
Line 21 ->
GUI.DrawTexture ( new Rect (0, 0, Screen.width, Screen.height), fadeOutTexture );
When you create a new instance of a class/struct in most cases you need to use new keyword meaning it will create a new instance using the appropriate constructor of the class/struct, you cant just use Rect(0,0,someNum,someNum) because compiler thinks it is a method and not an attempt to create a new instance. Cheers.
I got the following errors from doing that:
Assets/Scripts/FadeIn.cs(21,21): error CS1503: Argument `#1' cannot convert `object' expression to type `UnityEngine.Rect'
Assets/Scripts/FadeIn.cs(21,21): error CS1502: The best overloaded method match for `UnityEngine.GUI.DrawTexture(UnityEngine.Rect, UnityEngine.Texture)' has some invalid arguments
Assets/Scripts/FadeIn.cs(21,35): error CS0119: Expression denotes a `type', where a `variable', `value' or `method group' was expected
oops didn't see it, anyway i edited the answer.
Your answer

Follow this Question
Related Questions
3D FPS to 2D mouse 1 Answer
Lifes count resets with level 0 Answers
Problem with Fading out Objects via setting rendering Modes to Transparent instead of Opaque 1 Answer
Fade between scenes 0 Answers
Animation Not Playing 0 Answers