努力从 C# 中的不同脚本检查函数状态

好的,所以在分数脚本中,我在更新函数中设置了代码,当“死”变量为假时计数。一旦“死”变量变为真,它就会停止。除了计数器在我仍然处于不理想的主菜单场景时启动之外,它运行良好。但是,当我尝试在主菜单脚本(例如 sCount)中创建一个变量,然后在分数脚本中检查 sCount 的状态时,我收到一个错误,即对象引用未设置为对象的实例。显然我没有正确引用变量或其他东西,但我的语法是完美的。将不胜感激任何帮助。 主菜单代码:

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class Mainmenu : MonoBehaviour
{
    private Score Score;
    public bool sCount = false;
    void Awake()
    {
            Score = GameObject.FindObjectOfType<Score>();
 
    }
    public void start()
    {
        Scene scene = SceneManager.GetactiveScene();
        string currentScene = scene.name;
        Debug.Log(currentScene);
    }
    public void ExitButton()
    {
        Application.Quit();
        Debug.Log("Game Closed");
      }

    public void StartGame(){

        //Score = GameObject.FindObjectOfType<Score>();
        // Score.CountBegin();
        sCount = true;
        SceneManager.LoadScene("SpaceLevel");
       
    }
}

评分脚本:

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Score : MonoBehaviour
{
    public Text scoreText;
 public bool dead = false;
    public bool startCount = false;
    public string currentScene;
    
    // Update is called once per frame
    void Start()
    {
       
            scoreText.text = 0.ToString();
        
    }
   public void CountBegin()
    {
        startCount = true;
    }
    public void EndGame()
    {
        dead = true;
    }  
    public void Update()
    {
        bool state = gameObject.getcomponent<Mainmenu>().sCount;
        Scene scene = SceneManager.GetactiveScene();
        string currentScene = scene.name;
        Debug.Log(state);
        if (state == true)
        {
            if (dead == true)
            {
                scoreText.text = scoreText.text;

            }
            else
            {
                scoreText.text = Time.time.ToString("0");


            }
        }
        else
        {
            scoreText.text = 0.ToString();
        }
        }
           
        }

其他一切正常,只是这个烦人的错误。

mmtsky 回答:努力从 C# 中的不同脚本检查函数状态

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/4536.html

大家都在问