• 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
#6
Codice:
using UnityEngine;
using System.Collections;

public class Fade : MonoBehaviour
{
   public Texture2D FadeOutTexture;
   public float fadeSpeed = 0.8f;
   private int drawDepth = -1000;
   private float alpha = 1;
   public int fadeDir = -1;
   public float timeForFade = 1f;

   //Questo serve per la chiusura del livello, ovvero che lo schermo diventa nero
   public void FadeIn()
   {
       BeginFade(1);
   }

   //Questo per inizio livello quindi quando lo schermo passa da nero a trasparente
   public void FadeOut()
   {
       StartCoroutine(fadingOut(timeForFade));
   }

   //Questo non serve ad altro che fare un inizio livello senza fare prima FadeIn e poi FadeOut
   //infatti in questa funzione controlla lui se c'è bisogno di fare il FadeIn, nel caso lo fa
   //e dopo un tempo impostato da te fa anche il fadeOut, altrimenti se non c'è bisogno di fare
   //fadeIn fa direttamente il fadeOut senza farti aspettare, ti consiglio di creare un scena
   //vuota con una camera per poterlo testare per bene e capire il funzionamento.
   IEnumerator fadingOut(float t)
   {
       if (fadeDir == 1)
           t = 0;
       else BeginFade(1);
       yield return new WaitForSeconds(t);
       BeginFade(-1);
   }

   public float BeginFade(int direction)
   {
       fadeDir = direction;
       return (fadeSpeed);
   }

   void Update()
   {
       //Questi sono comandi per testing, ti conviene torglierli una volta testato il funzionamento
       if(Input.GetKeyDown(KeyCode.A))
       {
           FadeIn();
       }
       if (Input.GetKeyDown(KeyCode.S))
       {
           FadeOut();
       }
   }

   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);
       GUI.depth = drawDepth;
       GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), FadeOutTexture);
   }
}

Lo ho rifatto a modo mio adesso dovrebbe funzionare, leggi i commenti che ti ho lasciato nello script per capire per bene tutto Big Grin
 
  


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 633 29-02-2016, 10:50 PM
Ultimo messaggio: antolepore

Vai al forum:


Browsing: 1 Ospite(i)