Unity3D传递参数时出现NullReferenceException: Object reference not set to an instance of an object 50
我设了两个类(use和define),为什么不用直接新建define类型的变量,再把参数传进去呢?publicclassuse:MonoBehaviour{publicd...
我设了两个类(use和define),为什么不用直接新建define类型的变量,再把参数传进去呢?
public class use : MonoBehaviour {
public define now;
void Start() {
now.A = 50;
Debug.Log(now.A);
}
}
public class define : MonoBehaviour {
public int A;
}
use这个类我附在了一个cube上。
不知道为什么会出现这个问题,大神帮忙解答下!谢谢!! 展开
public class use : MonoBehaviour {
public define now;
void Start() {
now.A = 50;
Debug.Log(now.A);
}
}
public class define : MonoBehaviour {
public int A;
}
use这个类我附在了一个cube上。
不知道为什么会出现这个问题,大神帮忙解答下!谢谢!! 展开
1个回答
展开全部
首先扯个淡,看你的编码命名初步判定你是个超级新手。
回到问题,这句话意思是说有空的引用,大家遇到这个问题一般就是说某句话里面的某一个变量是null,unity提供了方便的检索,在console窗口双击错误就可以跳转到编码行数,我这里初步判定类use里面的这个暴露变量now是null,你需要在unity的inspect页面把对象引用进去。
再深入说下,你的类define里面如果只是用来做实体数据存储,根本没有必要继承monobehaviour,在类use里面直接初始化一下变量now就可以了。
回到问题,这句话意思是说有空的引用,大家遇到这个问题一般就是说某句话里面的某一个变量是null,unity提供了方便的检索,在console窗口双击错误就可以跳转到编码行数,我这里初步判定类use里面的这个暴露变量now是null,你需要在unity的inspect页面把对象引用进去。
再深入说下,你的类define里面如果只是用来做实体数据存储,根本没有必要继承monobehaviour,在类use里面直接初始化一下变量now就可以了。
追问
我也扯个淡,你说的都是狗屁,new一个define就结束了,或者声明为静态变量,你看看哔哔了一堆没一个说到点子上也是挺搞笑的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询