unity2d横板移动代码
时间: 2024-09-26 13:01:12 浏览: 52
在Unity 2D中创建横版移动游戏的基本代码通常涉及到主角的位移、碰撞检测和输入处理。以下是一个简单的示例:
```csharp
public class PlayerController : MonoBehaviour
{
public float speed = 5f;
private Vector2 movement;
void Update()
{
// 获取玩家输入
movement = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));
// 移动角色
transform.Translate(movement * Time.deltaTime * speed);
// 碰撞边界检查
if (Physics2D.Raycast(transform.position, movement))
{
// 如果有碰撞,反向移动一定距离防止穿透
movement *= -0.7f;
}
}
}
```
在这个例子中,我们首先获取玩家在水平和垂直方向上的输入值。`Update()`函数会在每一帧运行,通过`Translate()`方法将角色按照输入的速度进行移动。同时,使用`Raycast()`进行简单的一维碰撞检测,如果触碰到障碍物就减少移动速度,使其向后反弹。
阅读全文