06-02-2016, 07:54 PM
ho trovato online uno script che mi potesse aiutare a dare un effetto Fading quando una scena comincia o finisce
lo script, un po' modificato da me, è questo
c'è un problema: quando la scena inizia, il Fade In funziona benissimo, ma quando premo il trigger che mi permette di attivare il public void EndScene (), il Fade Out non funziona
ho provato che il problema non è l'attivazione del void EndScene () perchè funziona, quello che non funziona è il Fade Out che dovrebbe essere presente all'interno del void FadeToBlack ()
qualcuno riuscirebbe a spiegarmi cosa c'è di sbagliato nello script?
lo script, un po' modificato da me, è questo
Codice:
using UnityEngine;
using System.Collections;
public class Fade_Screen_Scene : MonoBehaviour
{
public float fadeSpeed = 5.0F;
public GUITexture blackScreen;
private bool sceneStarting = true;
void Awake()
{
blackScreen.pixelInset = new Rect (0f, 0f, Screen.width, Screen.height);
}
void Update()
{
if (sceneStarting == true)
{
StartScene();
}
}
void FadeToClear()
{
blackScreen.color = Color.Lerp(blackScreen.color, Color.clear, fadeSpeed * Time.deltaTime);
}
void FadeToBlack()
{
blackScreen.color = Color.Lerp(blackScreen.color, Color.black, fadeSpeed * Time.deltaTime);
}
void StartScene()
{
FadeToClear();
if (blackScreen.color.a == 0.0f)
{
blackScreen.color = Color.clear;
blackScreen.enabled = false;
sceneStarting = false;
}
}
public void EndScene()
{
blackScreen.enabled = true;
FadeToBlack();
}
}
ho provato che il problema non è l'attivazione del void EndScene () perchè funziona, quello che non funziona è il Fade Out che dovrebbe essere presente all'interno del void FadeToBlack ()
qualcuno riuscirebbe a spiegarmi cosa c'è di sbagliato nello script?