unity2d 平台左右往复运动
时间: 2024-09-11 17:11:39 浏览: 61
在Unity 2D中实现平台角色的左右往复运动,通常会涉及到游戏对象的位置更新和碰撞检测。下面是一个简单的步骤描述:
1. 创建游戏对象:首先创建一个带有动画的2D游戏对象作为角色模型。
2. 设置脚本:在该对象上添加一个脚本来控制它的移动。你可以使用C#编写,例如:
```csharp
using UnityEngine;
using System.Collections;
public class PlatformMovement : MonoBehaviour
{
public float speed = 5f; // 步伐速度
private Vector2 direction = new Vector2(0, 1); // 默认向右
void Update()
{
float horizontalInput = Input.GetAxis("Horizontal"); // 获取玩家的左右键输入
if (horizontalInput > 0) // 向右
direction = new Vector2(speed, direction.y);
else if (horizontalInput < 0) // 向左
direction = new Vector2(-speed, direction.y);
transform.Translate(direction * Time.deltaTime); // 根据方向更新位置
}
void OnCollisionEnter(Collision collision) // 当角色碰到边缘时停止
{
if (collision.gameObject.CompareTag("Platform") && direction.x == -speed)
direction = new Vector2(speed, direction.y);
else if (collision.gameObject.CompareTag("Platform") && direction.x == speed)
direction = new Vector2(-speed, direction.y);
}
}
```
这个脚本会在每次`Update`帧中根据玩家的方向键调整角色朝向并移动,同时在角色碰到平台边界时反转方向,使其保持在平台上往复移动。
阅读全文