常用解決辦法NullReferenceException:Object
本文介紹一些常見的導致NullReferenceException: Object reference not set to an instance of an object錯誤出現的原因,並給出相應的解決辦法
操作方法
(01)常用解決辦法1:NullReferenceException: Object reference not set to an instance of an object.沒有初始化物體的原因最主要的一個就是:物體本身的活性沒有激活(√被去掉了).你首先要檢視,GameObject的活性是否在執行前就沒有激活,還是程序執行時你的某些腳本導致程序執行時將它的活性取消了,激活活性此問題迎刃而解.第一張圖爲簡單的場景搭建,便於講解.
(02)常用解決辦法2:出現問題的物體的父物體、父父物體、父父父物體......沒有激活活性,因爲一個父物體的活性取消的話,unity系統默認的就無法搜尋到他的所有自物體了,即使這個時候你單獨開啟自物體的屬性面板,發現子物體的活性小勾√還在,這個自物體依然是 Object reference not set to an instance of an object.
(03)常用解決辦法3:如果帶有Start(),Awake(),Update (),函數的腳本沒有賦給Hierarchy面板上的任何GameObject,那這三個函數的函數體全部不會被執行,自然也就會導致這個問題了.腳本在Project面板中建立後,如果你以爲系統會自動執行它,你就大錯特錯了,必須要把它放到Hierarchy面板上才行.有兩種方法1.給一個已有的GameObject添加組件,即Add Component-"腳本的名字".2.新建一個空的GameObject,在空物體上添加組件,方法同上
(04)常用解決辦法4:在大一點的工程中,你會發現,一個工程中的絕大多數腳本是沒有Start(),Awake(),Update ()函數的,這些腳本或是也賦值給Hierarchy面板上的物體(這隻佔很少的一部分),或透過被其他腳本調用來實現作用(佔了絕大多數!!),如果這些腳本中出現Object reference not set to an instance of an object,你就要去看看源頭了,看看調用的腳本有沒有執行(也就是有沒有被放到Hierarchy面板上的某個物體上,而且這個腳本組件的活性√是否還在)
(05)常用解決辦法4:函數應用不當導致的錯誤.你自以爲腳本邏輯正確(實際上也確實正確啊),的的確確是有給物體賦值,但就是報錯Object reference not set to an instance of an object.例如,objButton = antiate(("Prefab/FirstButton")) as GameObject;語法沒錯,函數調用正確,但是就是報錯,說objButton沒有賦初值,錯誤到底在哪呢!原來系統找不到加載路徑裏面的東西!,去看看你的資源放在哪裏了,是不是放在Assets-Resources檔案夾下面了,注意檔案名"Resources"絕對不能錯哦,因爲這個函數就是找這個名字下面的資源啊!然後就在檢查一下路徑有沒有錯就OK了
(06)常用解決辦法4:真的是犯錯了,沒有賦初值,那就趕緊賦初值吧.介紹幾種簡單的賦初值方法:(1)public Vector3 vec3=new Vector3(0,0,0);(2)public string[] strs = new string[5];(3)int Int = 0;(4)float Flo = 0.0f;
-
怎樣入駐成爲百度糯米商家
糯米是一個團購類型的網站,手機端現在也推出了移動APP。可以像美團和大衆點評那樣檢視附近的商店網上下訂單。如何成爲糯米的商家呢?操作方法(01)先進入百度糯米官網。可以在百度進行搜尋。(02)官網首頁最下方找到“商業合作”-“市場合作”。點擊“市場合作”。(03)...
-
去哪裏能下載電影或者下載電視劇呢
有很多朋友問我,我想下載幾部電影看看,可是不知道去哪裏下載,我這裏把方法一些方法告訴大家。操作方法(01)能下載視頻的工具很多,網頁也有可以下載視頻的連接,現在我們以下圖工具教大家怎麼下載電影。(02)到網上找的相關軟件下載安裝,安裝好後開啟氣圖標。(03)在線,在列表中...
-
百度賬號如何修改用戶名?
最近加入了回享計劃的預備班,心想着就嘗試一下吧,一個點擊便參加了。但是回頭一下,怎麼這用戶名是英文字母跟數字的串和,也沒有規律可言,又難記!主要是讓別人看見了,這用戶名感覺瞬間LOW了不是一點半點哦。就搗鼓着想更改一下,這時才發現原來這賬號一旦註冊了,用戶名是...
-
CentOS7關閉防火牆和SELinux
本文主要講述瞭如何在CentOS7上臨時關閉防火牆、永久關閉防火牆、臨時關閉SELinux和永久關閉SELinux的方法。出自openstackblog。防火牆(firewalld)(01)臨時關閉防火牆systemctlstopfirewalld(02)永久防火牆開機自啓動systemctldisablefirewalld(03)臨時開啟防火牆syst...