unity中可以控制一个物块来回直线移动的代码
时间: 2024-02-12 09:09:55 浏览: 51
android 游戏开发基本的框架代码 实现直线移动
4星 · 用户满意度95%
是的,Unity中可以控制一个物块来回直线移动。以下是一个简单的示例代码:
```csharp
public class MoveBackAndForth : MonoBehaviour
{
public float speed = 2.0f; // 移动速度
public float distance = 2.0f; // 移动距离
private Vector3 startPos; // 初始位置
private Vector3 endPos; // 结束位置
private bool movingToEnd = true; // 是否朝向结束位置移动
void Start()
{
startPos = transform.position;
endPos = startPos + distance * Vector3.right; // 结束位置在初始位置右边distance个单位
}
void Update()
{
if (movingToEnd)
{
// 从起点向终点移动
transform.position = Vector3.MoveTowards(transform.position, endPos, speed * Time.deltaTime);
if (transform.position == endPos)
{
movingToEnd = false;
}
}
else
{
// 从终点向起点移动
transform.position = Vector3.MoveTowards(transform.position, startPos, speed * Time.deltaTime);
if (transform.position == startPos)
{
movingToEnd = true;
}
}
}
}
```
这段代码将一个物块沿着x轴来回移动,移动速度和距离可以通过公共变量进行控制。在Start函数中初始化初始位置和结束位置,在Update函数中根据当前位置和目标位置进行移动,并判断是否到达目标位置,从而改变移动方向。
阅读全文