上一集笔记是错的
顺序应该是
直接声明变量赋值>监视面板赋值>awake>OnEnable>start>外部赋值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相反;
lateupdate在update内容全部执行完成后进行调用
向父级和子级对象发送消息
广播消息(向下发,所有子对象包括自己)
BroadcastMessage("GetMsg");
向上发送消息
SendMessageUpwards("GetMsg");
给其他组件发送消息
SendMessage("GetSrcMsg","trigger")//调用这个方法时即使是这个物体的其它组件中也有这个方法他也可以调用
public void GetSrcMsg(string str)
{
Debug.Log("测试对象身上的其它组件接受的消息为:"+str)
}
添加与修改AxisName
KeyCode
访问输入系统的接口类
Input类
moveTowards方法移动
grisTrans.position=Vector2.MoveTowards(grisTrans.position,TargetTrans.position,0.01f);
结果是游戏物体匀速运动到指定位置
所以moveTowards方法的效果跟Lerp方法加上percent的效果一样。