我正在看Walker男孩教程,我正在项目#2中,在那里你制造了一艘破坏小行星的船......而且那里的子弹必须从其他物体调用一个功能......(这里是视频http://vimeo.com/19463502)我做的所有事情都在这里,但我收到了这个错误:
"NullReferenceException: Object reference not set to an instance of an object
scriptBullet.OnTriggerEnter (UnityEngine.Collider other) (at Assets/scriptBullet.js:39)
,那行代码是:
sceneManager.transform.GetComponent(scriptsceneManager).AddScore();
scriptsceneManager.js
var gameTime : float = 60;
static var score : int = 0;
function Update ()
{
print("score : " +score);
}
public function AddScore()
{
score +=1;
}
答案 0 :(得分:0)
从我所看到的(自从我做了漫步教程以来已经有一段时间了),只有两个原因可以让你在这里获得NullPointerException。
尚未在scriptBullet.js中初始化SceneManager。如果您通过标记找到GameObject,请确保已分配标记并在脚本中拼写正确。我总是忘记分配标签,直到它没有迟到。
scriptsceneManager尚未添加到SceneManager对象中。这导致GetComponent调用返回null。
如果您使用的是Monodevelop,请记住,如果您点击了附加按钮,您可以将UnityEditor附加到monodevelop,然后您可以使用断点来找出NullPointer的来源。 https://docs.unity3d.com/Documentation/Manual/Debugger.html
希望这有帮助。