U3d中C#脚本常用方法

来源:互联网 发布:linux 卸载squid 编辑:程序博客网 时间:2024/05/18 01:44



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、创建一个对象,并让它有一个运动轨迹

   

  1. Transform  shoot = (Transform)Instantiate(shotPrefab,firePoint.gameObject.transform.position,  
  2.                 firePoint.gameObject.transform.rotation);   
  3.           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));以某个轴为轴旋转或者移动就修改某个坐标的值,

好文要顶 关注我 收藏该文  
0 0