1.在Project面板中显示和创建的每一个脚本其实都是一个类,当我们把脚本挂载到Hierarchy层级中的游戏物体时,其实我们就实现了将脚本类实例化为一个脚本组件(对象)的过程
2.在游戏运行时,场景加载,游戏对象加载,脚本被激活,并执行自己的生命周期 awake , start , update , detroy
在前面的学习中我们学了如下三个重要的类 ---
第一个
这个类能够实现的主要功能是 --- 查找组件 --- 能找自身的,父物体的和子物体的组件
1.找子物体的组件和找父物体的组件的时候,都是先从自身开始找,然后再一层一层的往上找(父物体方向)或者是往下找(子物体方向)
2.所有组件(对象)对应的类都继承了Component类
(ps:在Component类中还有两个比较重要属性 --- gameobject(指向组件所在的游戏对象本身),tag(存储的是组件所在的游戏对象的标签))
第二个
1.对物体做位置,角度,大小上的改变时,就要用到 Transform 类
2.一个物体的位置分为两种 --- Position(世界坐标系) 和 LocalPosition(本地坐标系 --- 相对于父物体)
3.我们在inspector面板中的transform组件中读到的position位置其实是localPosition
没有父物体时,两个位置相同;有父物体时就不相同了
(PS:Rotation 和 scale 也都是local的 --- 相对于父物体的)
lossyScale 和 localScale 的区别是 --- 一个是相对于自身模型大小的缩放,一个是相对于父辈模型大小的缩放
介绍一个方法 --- Translate , 这个方法的作用是让物体沿着某一个方向移动
这个方法有两个变量,一个是 三维向量 ,其代表的是物体移动的方向
第二个变量是指定三维向量所在的坐标系 --- 如果是.self ,那三维向量处于物体自身的坐标系中,此时物体的移动逻辑是在物体自身的坐标系中确定给定的三维向量,然后物体沿着这个三维向量移动;
.world则是向量位于世界坐标系中
除此之外第二个变量还有一个重载 ---
如果使用了这个变量的话,则向量位于其它物体的坐标系中
第三个
这个类提供了禁用,启用,操作游戏对象,以及给游戏对象添加组件的功能,还有一个就是找游戏物体的功能 --- 通过标签筛选的方式去寻找(有对应方法)
第四个
这个类是Unity中所有类的父类,是老祖宗级别的,它被Unity中所有的对象继承(包括游戏对象,脚本,组件,资源)
这个方法有一个函数重载,在这个重载中多了一个变量 --- 时间变量,如果我们不设置的话,方法执行时会立即删除对象,如果设置了则在时间过去之后才删除