1、Start() 开始方法;
2、Update() 正常更新逻辑,每渲染一帧都会调用
3、FixedUpdate() 不受帧率的变化,固定的时间间隔被调用,怎么设置间隔?Edit->Project Setting->time下面的Fixed timestep
4、LateUpdate() 会在每一帧中被调用。在所有Update函数被调用之后才执行。有利于程序的有序执行。(例如:跟随摄像机就应该在LateUpdate执行,因为它跟随的对象也许需要在Update中执行
5、OnGUI() 游戏界面绘制、更新
6、OnCollisionEnter(Conllision other) 在刚体与刚体开始接触时候调用此方法,(记住是刚体之间的碰撞)
7、OnCollisionStay(Conllision other) 在刚体与刚体碰撞的过程中,调用此方法 每帧都会调用此方法,知道碰撞结束;
8、OnCollisionExit( Conllision other) 在刚体与刚体停止接触时,调用此方法
9、OnTriggerEnter(Collider other) 当Collider(碰撞体)进入trigger(触发器)时调用,这个消息被发送到触发器碰撞体和刚体(或者碰撞体假设没有刚体)。注意如果碰撞体附加了一个刚体,也只发送触发器事件
10、判断两个物体之间的距离 Vector3.Distance( position1,position2) <distance ;
position1 和position2是需要判断的两个物体transform的position,distance是距离。
11、让一个物体朝向另一个物体
transform.LookAt(other.transform);
12、创建一个对象,并让它有一个运动轨迹
- Transform shoot = (Transform)Instantiate(shotPrefab,firePoint.gameObject.transform.position,
- firePoint.gameObject.transform.rotation);
- shoot.rigidbody.velocity= transform.TransformDirection(Vector3.forward*100f);
firePoint 是一个Empty对象,它提供初始位置,shotPrefab是一个预制对象,shoot.rigidbody.velocity= transform.TransformDirection(Vector3.forward*100f);是让这个物体向前运动
13、旋转和移动
transform.Rotate(new Vector3(x,y,z)) ; transform.Translate(new Vector3(x,y,z));以某个轴为轴旋转或者移动就修改某个坐标的值,