我想在另一个类的类中运行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);
}
}
当我运行我的代码时,我发现了一个错误的“NullReferenceException:对象引用未设置为对象的实例”,它指向newscore.updateScoreBy(+1); 我该如何解决?
答案 0 :(得分:1)
您需要初始化public NewScore newscore;
:在Inspector面板中拖放包含该脚本的对象
答案 1 :(得分:0)
取决于你想要做什么,你可以使函数静态像:
public static void updateScoreBy(int intr)
{
Debug.Log("intr+4"+intr+4);
}
并将其命名为:
NewScore.updateScoreBy(1);
答案 2 :(得分:0)
你没有初始化新闻核心。
更改你的NewPlus类,这样它将在构造时初始化新闻核心。
public class NewPlus: MonoBehaviour {
public NewScore newscore;
public NewPlus(){
newscore=NewScore();
}
public void OnTriggerEnter2D(Collider2D obj) {
newscore.updateScoreBy(+1);
}
}