1. 简介

在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position。之前写过类似的文章,这次增加了平时常用API的脚本,每个脚本均手打测试可用.

2. 通过Transform组件移动物体

Transform组件用于描述物体在空间中的状态,它包括位置(position)旋转(rotation)缩放(scale)。 其实所有的移动都会导致position的改变,这里所说的通过Transform组件来移动物体,指的是直接操作Transform来控制物体的位置(position)

2.1 Transform.Translate

该方法可以将物体从当前位置,移动到指定位置,并且可以选择参照的坐标系。 当需要进行坐标系转换时,可以考虑使用该方法以省去转换坐标系的步骤。

public float m_speed = 5f;//Translate移动控制函数
    void MoveControlByTranslate()
    {        if (Input.GetKey(KeyCode.W)|Input.GetKey(KeyCode.UpArrow)) //前
        {            this.transform.Translate(Vector3.forward*m_speed*Time.deltaTime);
        }        if (Input.GetKey(KeyCode.S) | Input.GetKey(KeyCode.DownArrow)) //后
        {            this.transform.Translate(Vector3.forward *- m_speed * Time.deltaTime);
        }        if (Input.GetKey(KeyCode.A) | Input.GetKey(KeyCode.LeftArrow)) //左
        {            this.transform.Translate(Vector3.r
        
		

网友评论