帮我写一个unity2d左右方向键控制人物左右移动和方向的c#代码
时间: 2023-12-03 11:43:09 浏览: 175
方向键对游戏角色移动的控制
4星 · 用户满意度95%
当然可以,以下是一个简单的示例代码:
```csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float moveSpeed = 5f; // 移动速度
private Rigidbody2D rb; // 刚体组件
private Animator anim; // 动画组件
private void Start()
{
rb = GetComponent<Rigidbody2D>();
anim = GetComponent<Animator>();
}
private void FixedUpdate()
{
float moveHorizontal = Input.GetAxisRaw("Horizontal"); // 获取水平方向输入
Vector2 movement = new Vector2(moveHorizontal, 0f); // 构建移动向量
rb.velocity = movement * moveSpeed; // 刚体施加速度
if (moveHorizontal > 0f) // 如果向右移动
{
transform.localScale = new Vector3(1f, 1f, 1f); // 翻转角色方向
}
else if (moveHorizontal < 0f) // 如果向左移动
{
transform.localScale = new Vector3(-1f, 1f, 1f); // 翻转角色方向
}
anim.SetFloat("Speed", Mathf.Abs(moveHorizontal)); // 播放动画
}
}
```
在这个示例中,我们通过获取水平方向输入来控制角色的移动,如果向右移动则翻转角色方向,如果向左移动则再次翻转角色方向。同时我们还使用了 Animator 组件来播放角色的动画。
你可以将这个代码片段添加到一个空对象上,然后将角色的 Sprite 渲染器组件挂载到该对象下,即可实现左右方向键控制人物左右移动和方向的功能。
阅读全文