- Home /
Screen fading while changing scenes doesn't seem to work. Help !
I am trying to change the scene of my game with a little fade effect which will happen on collisions. I have two script one with fade and other is called changelevel where when an object touches another object the screen should give me a black fade and then change to second scene. There are 0 errors in my code but the effect doesn't seem to work although the scene is getting changed. I have attached the scripts on objects too ( assuming that it doesn't matter on which two of the object you put it ).
 //Code for fade
 using UnityEngine;
 using System.Collections;
 
 public class fading : MonoBehaviour {
 
     // Use this for initialization
     public Texture2D fadeOutTexture ; // the texture that will overlay the screen , this can be a black screen or loading page
     public float fadeSpeed ;         // the speed of the screen fade.
 
     private int drawDepth = -1000;  //the texture order in the draw hierarchy ; a low number means it renders on top
     private float alpha = 1.0f;
     private int fadeDir = -1;
 
     void OnGui(){
         
         alpha += fadeDir * fadeSpeed * Time.deltaTime;
         
         alpha=Mathf.Clamp01(alpha);
 
         
         GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,alpha);    //set the alpha value
         GUI.depth = drawDepth;                            // make the black texture render on top
         GUI.DrawTexture(new Rect (0,0,Screen.width,Screen.height),fadeOutTexture);    //draw texture to fit the screen.
     }
     
     public float BeginFade (int direction) {
         fadeDir=direction;
         return(fadeSpeed);
     }
     
     void OnLevelWasLoaded(){
         //alpha = 1; //use this if the alpha is not set to 1 by default.
         BeginFade(-1); //call the fade in function
     }
 }
and this is the code for scenechanging
 using UnityEngine;
 using System.Collections;
 
 public class SceneChanger : MonoBehaviour {
 
     // Use this for initialization
     IEnumerator OnCollisionEnter(Collision other){    
             //yield return new WaitForSeconds (3.0f);
         float fadeTime=GameObject.Find ("Cube").GetComponent<fading> ().BeginFade (1);
             yield return new WaitForSeconds (fadeTime);
             Application.LoadLevel(1);
         }
 
 }
 
any help is very much appreciated. Thanks a lot :)
Your answer
 
 
             Follow this Question
Related Questions
Distribute terrain in zones 3 Answers
Change scene with trigger collision not working. 1 Answer
Keep audio playing even though I reset the scene 5 Answers
My scene won't load! 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                