2013年10月15日星期二

Unity3D 常用的函数

transform.Translate --把对象从一个地方往给定的方向前进。
例如:
transform.Translate(Vector3.forward * Time.deltaTime);  // Vector3.forward相当于(0, 0, 1). Time.deltaTime见下面。
transform.position --获取对象的坐标(x, y, z)。
例如:
transform.position = Vector3(0, 0, 0); // 把对象移动到(0, 0, 0)。
gameObject.GetComponent --获得,怎么说呢,类似于返回一个指向gameObject(对象)的一个组件的指针吧。
例如:
curTransform = gameObject.GetComponent(Transform); // curTransform一个变量,后面的语句返回Transform这个组件。
GameObject.FindWithTag  --根据gameObject(对象)的标签来寻找对象。如果找到的话,就返回一个指向该对象的指针。
例如:
var respawn = GameObject.FindWithTag ("Respawn");  // var respawn是在定义一个新的变量respawn,后面的语句将返回一个指向标签为Raspawn的对象的指针。
GameObject.FindGameObjectsWithTag --根据gameObject(对象)的标签来寻找一组具有相同标签的对象。如果找到的话,就返回一个指向该对象数组的指针。
例如:
var respawns = GameObject.FindGameObjectsWithTag ("Respawn");  // var respawn是在定义一个新的变量respawn,后面的语句将返回一个指向标签为Raspawn的一组对象的指针。
Input.GetKeyDownInput.GetButtonDown  --这两者类似,当用户按下某个特定的键后,触发事件。
例如:
function Update () {
    if (Input.GetKeyDown ("space"))
        print ("space key was pressed");
} // 如果用户按下space键(空格键),则打印space key was pressed。Input.GetButtonDown类似。
Input.GetAxisInput.GetAxisRaw  --以名字来辨别虚拟键盘上的标识符。两者功能类似。后者限制更少。
例如:
var speed : float = Input.GetAxisRaw("Horizontal") * Time.deltaTime; // 接收左右或者A、D两个键的输入,控制水平方向的移动。
Time.time  --从游戏开始算起的总时间。
Time.deltaTime  --每一秒的最后一帧所用的时间。
Object.Instantiate  --克隆对象。
例如:
Instantiate (prefab, Vector3(i * 2.0, 0, 0), Quaternion.identity); // prefab是被克隆的对象, 第二个变量是克隆体生成的位置,第三个变量表示该生成的克隆不旋转。
function OnCollisionEnter(collision : Collision)  --检测碰撞,且碰撞的双方有一方为刚体。例子见官方文档。
function OnTriggerEnter (other : Collider)   --检测碰撞,且碰撞的双方有一方为刚体(另外,被装的一方还要在开启is trigger属性)。例子见官方文档。
Destroy  --摧毁对象。
例如:
Destroy (gameObject, 5); // 5秒后销毁gameObject。
Vector3  --代表一个三维坐标。
Random.Range  --在一定范围内获得随机数。
例如:
 Random.Range(-10.0, 10.0) // 获得-10.0到10.0的随机数。

没有评论:

发表评论