Transform.Translate
改变物体位置
定义
public void Translate(Vector3 translation, Space relativeTo = Space.Self);
参数名 | 类型 | 必要 | 说明 |
---|---|---|---|
translation | Vector3 | 是 | 移动方向和大小 |
relativeTo | Space | 否 | 相对的坐标系,默认 Space.Self Space.Self :局部坐标系Space.World :世界坐标系 |
public void Translate(float x, float y, float z, Space relativeTo = Space.Self);
参数名 | 类型 | 必要 | 说明 |
---|---|---|---|
x | float | 是 | X 轴移动大小 |
y | float | 是 | Y 轴移动大小 |
z | float | 是 | Z 轴移动大小 |
relativeTo | Space | 否 | 相对的坐标系,默认 Space.Self Space.Self :局部坐标系Space.World :世界坐标系 |
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
private void Update()
{
// 让物体沿自身 z 轴移动,每秒一个单位长度
transform.Translate(Vector3.forward * Time.deltaTime);
// 让物体沿世界方向向上移动,每秒一个单位长度
transform.Translate(Vector3.up * Time.deltaTime, Space.World);
}
}
指定各轴大小进行移动
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
private void Update()
{
// 让物体沿自身 z 轴移动,每秒一个单位长度
transform.Translate(0, 0, Time.deltaTime);
// 让物体沿世界方向向上移动,每秒一个单位长度
transform.Translate(0, Time.deltaTime, 0, Space.World);
}
}
除了 Space.Self
和 Spcae.World
还可以使用例如 Camera.main.transform
来实现相对座标系的移动。