c# - 变量没有被赋值,Prefab在我改变了引用游戏对象的值后丢失了引用
问题描述
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Manager : MonoBehaviour
{
public GameObject displayslider;
public GameObject TimeGetAngle;
public float TimeAngle, display;
public Text displayvaluetext, TimeAngletext;
public static Manager instance = null;
void Awake()
{
if (instance == null)
instance = this;
else if (instance != this)
Destroy(gameObject);
DontDestroyOnLoad(gameObject);
TimeAngle = 0;
display = 5;
}
void Start()
{
displayslider = GameObject.Find("displayslider");
Debug.LogError("", displayslider);
TimeGetAngle = GameObject.Find("Canvas/Panel/TimeGetAngle");
TimeAngletext = GameObject.Find("Canvas/Panel/TimeAngletext").GetComponent<Text>();
displayvaluetext = GameObject.Find("Canvas/Panel/displayvaluetext").GetComponent<Text>();
TimeAngletext.text = "" + TimeGetAngle.GetComponent<Slider>().value;
displayvaluetext.text = "" + displayslider.GetComponent<Slider>().value;
}
public void TimeGetAngleselect()
{
TimeAngle = TimeGetAngle.GetComponent<Slider>().value;
TimeAngletext.text = "" + TimeAngle;
}
public void Displayselect()
{
Debug.LogError("", displayslider);
display = displayslider.GetComponent<Slider>().value;
displayvaluetext.text = "" + display;
}
}
我在预制件中有这两个滑块,我想制作它,以便当我更改其中一个的值时,它旁边的文本框会显示该值。因此,当滑块更改值时,它会调用例如DisplaySelect()
方法。它适用于预设值,但是当我更改滑块中的值时,它会出现以下错误:
UnassignedReferenceException:Manager的变量displayslider没有被赋值。您可能需要在检查器中分配 Manager 脚本的显示滑块变量
解决方案
推荐阅读
- mongodb - 如何在 mongo db 聚合的下一行访问 $project 字段
- python - 使用 TensorFlow 处理图像
- ssl - 来自开发服务器上的在线域的 SSL 证书?
- python - 查找多米诺骨牌顺序的有效方法
- python - Python Numpy从对象追加多个列表
- python - 查找值索引明智
- javascript - 根据 Timing 设置自动弹出窗口警报框或 bootstarp 模态警报框
- sql-server - 如何使用sql找出存储过程的依赖关系
- sd-card - 从 sd 卡读取 bmp 更快
- php - 在 php 中包含一个用于 json 编码的循环