我的unity的日常学习
脚本相关的知识点
1.创建规则
①不在VS中创建脚本
②可以放在Assets下的任何位置(最好是放在同一个文件夹)
③类名和文件名必须一致,不然不能挂载(以为反射机制创建对象,会通过文件名去找Type)
④建议不要用中文名命名
⑤没有特殊需要不用去管命名空间
⑥创建脚本默认继承 MonoBehaviour
挂载:就是将脚本拖入到物体中去
不能挂载:就是不能将写好的脚本文件与场景中的物体进行关联
-
MonoBehaviour基类
①创建的脚本默认都继承了MonoBehaviour继承了挂载到GameObject上去
②继承了MonoBehaviour的脚本不能new只能挂
③继承了MonoBehaviour的脚本不要写构造函数,因为我们不会去new他,写构造函数没有任何意思
④继承了MonoBehaviour的脚本可以在一个物体上挂多个(如果没有加DisallowMultipleComponent特性)
⑤继承MonoBehaviour的类也可以再次被继承,遵循面对对象继承多态的原则。
-
不继承MonoBehaviour的类
①不继承MonoBehaviour的类不能挂载在GameObject上
②不继承MonoBehaviour的类 想怎么写怎么写 如果要使用就要自己new
③不继承MonoBehaviour的类一般是单一模式的类(用于模块管理)或者数据结构类(用于存储数据)
④不继承MonoBehaviour的类不用不用保留默认的几个函数 。
4.Inspector显示的可编辑阿内用就是脚本的成员变量
①私有和保护声明的变量在Inspector无法显示编辑
②让私有和保护也可以被显示
加上[SerializeField]特性(在声明变量之前家加上)
③公共的可以显示编辑
④公共的也可以不显示编辑
在变量前面加上[HideInInspector]特性
5.重要成员
①获取依附的gameobject的名字
This.gameobject.name
②获取依附的gameobject的位置信息
获取对象的位置信息
This.gameobject.position
位置 角度 缩放大小
③获取别的对象及对象的其他信息
④获取的脚本是否激活
This.enable=false//失活
得到依附对象上的脚本(就是子物体和父物体)
得到自己挂载的单个脚本
根据脚本名字获取
获取脚本的方法 如果获取失败就没有对应的脚本会默认返回为空