- Home /
 
               Question by 
               importguru88 · Jun 22, 2016 at 07:06 PM · 
                uitextcanvasroot  
              
 
              How do I root canvas carry UI text over in the next scene
I think rooted the ui canvas gameobject correctly . But the scene still wont switch . I don't have errors .
I am accessing the score script and the timer script from the test script. I want the scene to choange when the score is greater than the score I have . But the countdown timer gotta be at zero. This project is a score and time-base game. using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.SceneManagement; public class Test : MonoBehaviour { private MyClockScript myClock; public GameObject Score; public GameObject Text; private ScoreManagerScript scoremanager; void Awake () { myClock = GetComponent(); scoremanager = GetComponent(); Score = GameObject.Find("Tip");
 using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.SceneManagement; public class Test : MonoBehaviour { private MyClockScript myClock; public GameObject Score; public GameObject Text; private ScoreManagerScript scoremanager; void Awake () { myClock = GetComponent(); scoremanager = GetComponent(); Score = GameObject.Find("Tip");
     }
     
 
     void Update () 
     {
         if (myClock.m_leftTime <= 0 && 0 <= ScoreManagerScript.score)
 
         {
 
             SceneManager.LoadScene("new");
 
         }
 
 
 }
 
 
 }
Here is my two script:
 using UnityEngine;
 using System.Collections;
 using UnityEngine.UI;
 
 public class ScoreManagerScript : MonoBehaviour
  {
 
  
      public static int score;
 
 public GameObject RootCanvas;
 
      private Text text;
      
      void Awake()
      {
          text = GetComponent <Text> ();
          score = 0;
 
 DontDestroyOnLoad(RootCanvas.transform.root);
      }
      
 
      
      void Update()
      {
         text.text = "Score: " + score;
          Debug.Log("Score: " + score);
      }
  
      
      
  
 }
 using UnityEngine;
 using System.Collections;
 using UnityEngine.UI;
 using UnityEngine.SceneManagement;
 public class MyClockScript : MonoBehaviour
   {
       public GameObject RootCanvas; 
       public int  Minutes = 0;
       public int  Seconds = 0;
   
       private Text    m_text;
       public float   m_leftTime;
   
       public void Awake()
       {
           m_text = GetComponent<Text>();
           m_leftTime = GetInitialTime();
           DontDestroyOnLoad (RootCanvas.transform.root);
 
       
       }
   
       public void Update()
       {
           if (m_leftTime > 0f)
           {
               //  Update countdown clock
               m_leftTime -= Time.deltaTime;
               Minutes = GetLeftMinutes();
               Seconds = GetLeftSeconds();
 
               //  Show current clock
               if (m_leftTime > 0f)
               {
                   m_text.text = "Time : " + Minutes + ":" + Seconds.ToString("00");
 
               }
               else
               {
                   //  The countdown clock has finished
                   m_text.text = "Time : 0:00";
               }
           }
       }
   
       private float GetInitialTime()
       {
           return Minutes * 60f + Seconds;
       }
   
       private int GetLeftMinutes()
       {
           return Mathf.FloorToInt(m_leftTime / 60f);
       }
   
       private int GetLeftSeconds()
       {
           return Mathf.FloorToInt(m_leftTime % 60f);
       }
   }
 
                 
                dontdestroyonload.png 
                (188.9 kB) 
               
 
              
               Comment
              
 
               
              Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                