使用其他类中的函数-Unity



我开始学习团结,当一个物体被破坏时,我想在分数上加分数。如果对象被破坏,则函数返回"0";真";我正试图在其他类中与bool变量一起使用,如下所示:if (hexagon.GetComponent<Hexagon>().HexagonDistroy == true)但控制台中有一条错误消息:"对象引用未设置为对象的实例";

因为当您销毁对象时,您销毁的关于对象的所有信息都包括组件。

你可以检查有关该对象被销毁的信息,如下所示:

if(hexagon == null)
points++;

我不确定,因为我已经有一段时间没有使用统一了,而且我自己也没有深入学习,但我很确定你的六边形组件,或者你在if语句中放入条件中的任何东西都被正确引用了。这意味着您还需要在该类中引用它。

虽然我不认为这是你的问题,因为你把这个帖子命名为";使用另一类中的函数";。我假设六边形要么是一个类,要么是另一个类中的函数。基本上,要访问另一个类的变量或函数,请执行以下操作:

classname.variable //If the variable is a global variable, in other words declared in your class but outside a function
//So if I understand your question correctly, you would do 
if(classname.varible == true) {
//code
}

最好添加更多的代码,这样我们就可以弄清楚它是关于什么的。当没有进行对象引用时,会发生此错误。因此,请确保六边形包含HexagonDistroy组件。

最新更新