访问节点的标签
gameObject.tag
访问节点的层级
gameObject.layer
设置物体的激活失活
gameObject.SetActive(true)
访问节点的标签
gameObject.tag
访问节点的层级
gameObject.layer
设置物体的激活失活
gameObject.SetActive(true)
c#中
通过this访问脚本组件
this.test()==test(),调用test方法 省略了
this.gameObject 通过组件访问到该节点
默认直接用gameObject访问,
gameObject.name 访问节点名称
创建游戏对象
先引入sprite类型的资源图片
在c#中创建一个或者说是初始化一个变量
public GameObject grisGo 并将资源拖进去
第一种在start()函数里面
GameObject ob=new GameObject("游戏对象名 ")
第二种在GameObject自带的一个函数预制体
GameObject.Instantiate(grisGo) 复制
第三种在GameObject自带的一个api
GameObject.Createprimitive(primitivetype.cricle)
OnApplicatoinQuit() 程序退出和编辑器中停止播放方可调用
OnDestroy() 场景或者游戏结束才能调用
当前脚本挂载到的游戏物体被删除时,又调用
OnDisable和OnEnable一样 失活就会调用
OnDisable把不同样貌洋娃娃拆成同一种零件
onEnable把不同的零件合成不同样貌的洋娃娃
相当于 enable初始化 disable 回到0;
update方法
每分钟调用差不多64次
LateUpdate方法 和 update方法的区别跟awake和start一样 作用是一样的 但是先后顺序变了
上一集笔记是错的
顺序应该是
直接声明变量赋值>监视面板赋值>awake>OnEnable>start>外部赋值start
变量声明并直接赋值>监视面板赋值>Awake>OnEnable>外部赋值>start
外部对变量赋值的顺序时点
最左边最先调用
awake>onEable>内部start>外部start
外部脚本调用内部函数变化,现在外部脚本里面声明一个 内部脚本类型的变量 ,在unity里面点开外部脚本 里面有个变量将内部脚本拖拽那个变量4里面
创建游戏物体一共有三种方式:
第一种是用构造函数创建
OnApplicatoinQuit方法的调用情况是:在程序退出之前所有的游戏对象都会调用这个函数,在编辑器中会在用户终止播放时调用,在网页视图关闭时调用
作用与次数:满足情况时调用一次,用于处理一些游戏退出后的逻辑
OnDestroy方法的调用情况:场景或游戏结束,停止播放模式将终止应用程序 , 在网页试图关闭时调用 , 当前脚本被移除 , 当前挂载到的游戏物体被移除。
调用时间 , 次数与作用:满足调用情况是调用一次
start只会在游戏物体或脚本组件首次被激活的时候进行一次调用且它会在Awake和OnEnote之后,UPdate之前进行调用
注意:如果有需要提前加载资源的函数,那么最好就将它放在Awake之后,保证它的资源加载不会出错,因为所有的Start都是在Awake之后才会执行的
OnEnable方法是在一个游戏物体被激活的时候就会进行一次调用,但是当这个游戏物体中的C#函数被激活的话,也会将OnEnable方法进行一次调用
movetowards是一种匀速移动方法;
transform.forward 物体自身坐标z轴方向;
vector3.forward 世界坐标正前方(z轴);
Find component in children:自上而下遍历子物体,获得第一个有该类型的物体的组件
Find Object of Type:获得具有某个类型组件的物体
on disable与on enable相反;