Unity3D脚本编程笔记 第三章 U3D脚本语言的类型系统

时间:2022-09-25 08:49:44

 

GetHashCode的作用是用来判定是否是同一个对象。

 

C#仍然是一种静态类型的语言。var这种关键字知识为了使用方便。编译器自行推断其类型罢了。

C#还是类型安全的,除非其中存在转换关系,否则是不允许转换进行的。

 

值类型是不安全的。因此也不允许继承之类的操作。分在线程栈上,不受GC影响。

 

引用类型包括:

  • class
  • interface
  • delegate
  • Object
  • string
  • Dynamic(unity中并没有这个东西)

值类型大概就是结构和枚举。

 

关于UNITYOBJECT

 

BroadcastMessage是调用该组件所在的游戏对象及其子对象所有匹配的方法

SendMessage则只是针对游戏对象的方法。

 

对于BroadCast来说即使是私有方法也会被广播出来!

 

MonoBehaviour里的公共方法一是有关协程,二是有关Invoke方法

消息里很有趣的两个消息:OnBecameVisible与OnBecameInvisible.顾名思义,自己想象。但是要注意的是Scene也会调用这个方法

 

还有一个就是OnLevelWasLoaded,也是可以顾名思义。可以用来做一些转换效果

装箱拆箱:

装箱就是把值类型转换为引用类型,拆箱就是把引用类型提取成值类型

装箱比较会降低效率,拆箱表示我还好啦~