unity C#从另一个类运行方法
本文关键字:运行 方法 另一个 unity | 更新日期: 2023-09-27 17:59:16
我想在另一个类的类中运行metod,并且它们都被附加到不同的obj
两个班。第一种是:
public class NewScore: MonoBehaviour {
public void updateScoreBy( int intr) {
Debug.Log("intr+4"+intr+4);
}
}
第二种是:
public class NewPlus: MonoBehaviour {
public NewScore newscore;
public void OnTriggerEnter2D(Collider2D obj) {
newscore.updateScoreBy(+1);
}
}
当我运行代码时,我收到一个arror"NullReferenceException:对象引用未设置为对象实例",它指向newscore.updateScoreBy(+1);我该怎么修?
您需要初始化public NewScore newscore;
:在Inspector面板中拖放包含该脚本的对象
根据您想要做的事情,您可以将函数设置为静态的,如:
public static void updateScoreBy(int intr)
{
Debug.Log("intr+4"+intr+4);
}
并称之为:
NewScore.updateScoreBy(1);
您没有初始化newscore。
像这样更改NewPlus类,使其在构造时初始化newscore。
public class NewPlus: MonoBehaviour {
public NewScore newscore;
public NewPlus(){
newscore=NewScore();
}
public void OnTriggerEnter2D(Collider2D obj) {
newscore.updateScoreBy(+1);
}
}