参考与学习了银鸟工作室课程的分享,很好的课程,推荐!
GameObject,Component
每一个场景里存在的东西都是一个GameObject。
每个GameObject的功能是由它身上的Component们组成的。
代码依附(也可以不依附)在某个gameObject上,作为一个Component。
为什么呢?因为代码可以继承自MonoBehaviour,而MonoBehaviour继承自Component。
MonoBehaviour的生命周期
GameObject类
GameObject类包含了一个物体本身的信息,并提供了一些编辑该物体的方法。
- 访问当前GameObject:直接写gameObject即可。
这是因为Component类中有定义gameObject这个变量,而MonoBehaviour继承自Component。
-
常用字段:name、tag、layer、transform 等等
-
常用方法:SetActive、Destroy、Instantiate、AddComponent 等等
字段就是类里面的变量,英文是field
方法就是类里面的函数
Component类
-
Component类包括了所有的组件,包括Unity自带的和我们创建的。
-
MonoBehaviour继承自Component!
重要的方法:GetComponent
它可以访问到当前或者其他GameObject的各种Component;以此来方便我们对GameObject进行修改,一般在Awake/Start里使用。
这个方法很耗性能,不要在Update中使用,会掉帧严重。
语法:GetComponent<类型>();
Vector3结构体
Transform类
Time类
Input类
要在Update里处理Input而不是FixUpdate里:
因为我们每帧都要检测是否按下按键,如果按固定间隔(FixUpdate)来检测的话就很有可能会漏掉按键没检测到,玩家可要直接开喷了。