1. 程式人生 > >在Unity中“Debug.Log”和“Print”兩種列印方式的區別

在Unity中“Debug.Log”和“Print”兩種列印方式的區別

先寫個指令碼“PrintAndDebug”,掛在Main Camera 元件上,在指令碼的 Start 函式裡通過這兩種方式列印一段內容
在這裡插入圖片描述
然後執行u3d,看控制檯列印日誌,如下圖
在這裡插入圖片描述
在這裡可以明瞭的看到Debug.Log是直接打印出來的
而Print是繼承自MonoBehaviour的,

區別
Debug是一個密閉的類,Print是MonoBehaviour的一個成員。
所以在使用的範圍上,Print必須要繼承MonoBehaviour類,而Debug不用。這裡我把指令碼繼承的 MonoBehaviour給註釋掉,看下圖
在這裡插入圖片描述
不過,Unity的指令碼很多都是繼承自MonoBehaiour類的。所以,為了少打幾個字,博主喜歡上了Print(" "),用來除錯輸出

拓展:在Reflector中反編譯UnityEngine這個DLL會發現Print方法的實現其實非常簡單。在這裡插入圖片描述
可以很清楚的看到,print的實現就是通過Debug.Log來完成的,所以Print就是Debug.Log的一個簡單封裝,至此,U3d的兩種列印方式就介紹完畢了
print(“啊!!!13:30就要上班了”)
Debug.Log(“我還有1分鐘的睡覺時間,趕緊眯會”)