關於NullReferenceException的問題

陳威寰
Unity
Published in
2 min readJan 23, 2020

在製作Unity遊戲的過程中,常常遇到很多麻煩,尤其是像我這個例子:

圖片中,我操控的腳色要砍向那隻小怪,本來以為會很順的砍下去,但卻不知道為甚麼遊戲突然暫停了,再看看我當下的程式碼:

using System.Collections;using System.Collections.Generic;using UnityEngine;public class Damage : MonoBehaviour{public float damage = 5;}

上面是該小怪的程式碼,下面是上面那個程式所reference的程式,看起來很正常對吧?但執行起來就是會出現那一行訊息。

所以我查了一下資料:

基本上這個問題就是當你用我上面那個方法的時候,Unity會找不到你要reference的那個腳本在哪,所以我修改了一下我的程式碼:

可以看到我把在Awake()函式中做了一些修改,因為我把腳本Damage套在主角SKELETON上,所以必須要讓系統找到SKELETON,它才能再找到Damage這個腳本,之後便能順利運行啦。

以上就是我這次的分享。

--

--