【Unity】Unity 中 Debug.Log 和 print 两种打印方式的区别

先写个脚本 “PrintAndDebug”,挂在 Main Camera 组件上,在脚本的 Start 函数里通过这两种方式打印一段内容
【Unity】Unity 中 Debug.Log 和 print 两种打印方式的区别_第1张图片
然后运行 unity,控制台打印日志如下图
【Unity】Unity 中 Debug.Log 和 print 两种打印方式的区别_第2张图片
在这里可以明了的看到 Debug.Log 是直接打印出来的,而 print 是继承自 MonoBehaviour 的。

Debug.Log 和 print 区别

Debug 是一个密闭的类, print 是 MonoBehaviour 的一个成员。

所以在使用的范围上, print 必须要继承 MonoBehaviour 类,而 Debug 不用。这里我把脚本继承的 MonoBehaviour 给注释掉,

如下图
【Unity】Unity 中 Debug.Log 和 print 两种打印方式的区别_第3张图片
可以看到没有继承 MonoBehaviour 类的脚本是无法使用 print 这种方式的。

不过,Unity 的脚本很多都是继承自 MonoBehaiour 类的。所以,为了少打几个字,博主喜欢上了 Print(" "),用来调试输出。

在 Reflector 中反编译 UnityEngine 这个 dll 会发现 Print 方法的实现其实非常简单。在这里插入图片描述
可以很清楚的看到,print 的实现就是通过 Debug.Log 来完成的,所以 print 就是 Debug.Log 的一个简单封装。

print(“啊!!!13:30就要上班了”)
Debug.Log(“我还有1分钟的睡觉时间,赶紧眯会”)


结束语

如果这篇博客有幸帮到了您,欢迎点击下方链接,和更多志同道合的伙伴一起交流,一起进步。

Web开发者俱乐部

你可能感兴趣的:(Unity)