• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Fade Screen script problem
#7
il tuo script mi ha aiutato parecchio ma non l'ho utilizzato, infatti ho capito cosa non andava nel mio script
praticamente non avevo notato che il void StartScene veniva chiamato ogni frame fino a quando lo schermo non diventava completamente trasparente, quindi alpha uguale a 0, ma appena veniva chiamato il void EndScene, inizialmente l'alpha diventava diverso da 0 e quindi il void StartScene veniva chiamato ancora una volta, non facendo terminare il void EndScene
lo script funzionante è questo:

Codice:
using UnityEngine;
using System.Collections;

public class Fade_Screen_Scene : MonoBehaviour
{
   public float fadeSpeed = 5.0F;
   public GUITexture blackScreen;
   public float delayEnding = 2.0F;

   private bool sceneStarting = true;
   private bool sceneEnding = false;
   private IEnumerator coroutine;

   void Awake()
   {
       blackScreen.pixelInset = new Rect(0f, 0f, Screen.width, Screen.height);
   }


   void OnGUI()
   {
       if (sceneStarting == true && sceneEnding == false)
       {
           StartScene();
       }
       else
       {
           EndScene();
       }
   }


   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;
       }
   }


   void EndScene()
   {
       blackScreen.enabled = true;
       FadeToBlack();
       if (blackScreen.color.a == 1.0f)
       {
           blackScreen.color = Color.black;
           blackScreen.enabled = false;
       }
   }

   public void CallEndScene()
   {
       coroutine = waitForEndScene(delayEnding);
       StartCoroutine(coroutine);
   }

   public IEnumerator waitForEndScene(float delayEnding)
   {
       yield return new WaitForSeconds(delayEnding);
       sceneEnding = true;
       StopCoroutine(coroutine);
   }
}
 
  


Messaggi in questa discussione
Fade Screen script problem - da 93sunderland - 06-02-2016, 07:54 PM
RE: Fade Screen script problem - da WilSoft90 - 08-02-2016, 05:46 AM
RE: Fade Screen script problem - da 93sunderland - 08-02-2016, 10:10 AM
RE: Fade Screen script problem - da Blackg96 - 08-02-2016, 12:37 PM
RE: Fade Screen script problem - da 93sunderland - 10-02-2016, 11:51 AM
RE: Fade Screen script problem - da Blackg96 - 10-02-2016, 04:30 PM
RE: Fade Screen script problem - da 93sunderland - 12-02-2016, 12:47 PM
RE: Fade Screen script problem - da Blackg96 - 13-02-2016, 12:43 AM

Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  visual studio tools for unity problem antolepore 2 632 29-02-2016, 10:50 PM
Ultimo messaggio: antolepore

Vai al forum:


Browsing: 1 Ospite(i)