创建游戏物体一共有三种方式:
第一种是用构造函数创建
创建游戏物体一共有三种方式:
第一种是用构造函数创建
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的效果一样。
修改位置的方法
transform.position=new Vector(3,3);
Vector2 vector=transform.position;
vector.x=4;
transform.position=vector;
GameObject.CreatePrimitive(PrimitiveType.plane);
游戏物体的查找和获取
this.geiasGo;
this.gameobject;
public GameObject grisGo;
使用构造函数创建游戏对象
GameObject myGo=new GameObject("MyGameObject");
根据现有的游戏对象资源或场景已有的游戏实体实例化(克隆)
GmaeObject.Instantiate(grisGo);
使用特别的API 创建基本的游戏类型
OnDisable()方法
调用情况:游戏物体被销毁 组件被禁用时调用
时间:调用一次,每次被销毁都会调用一次
作用:资源回收和清理,状态重置