如《Unity入门实战》0005 – 创建 C# 脚本 – 编码者中所述,我们创建了一个名为 Ball.cs 的脚本,它使我们能够在脚本中直接捕获键盘输入。
本文旨在帮助初学者了解如何在 Unity 中使用 C# 脚本捕获玩家输入。
🧱 步骤概览:
- 创建项目和场景:
- 在 Unity 中创建一个新的 2D 项目。
- 在场景中添加一个代表玩家的 Sprite(例如,一个球体)。
- 添加 Rigidbody2D 组件:
- 选中玩家对象,点击“添加组件”,选择“Rigidbody 2D”,以便物体受物理引擎控制。
- 编写 C# 脚本以捕获输入:
- 创建一个新的 C# 脚本,例如命名为
BallScript
,并附加到玩家对象上。 - 在脚本中,使用
Input.GetAxis("Horizontal")
来检测左右方向键或 A/D 键的输入。 - 使用
Input.GetKeyDown(KeyCode.Space)
来检测空格键的按下,以实现跳跃功能。
- 创建一个新的 C# 脚本,例如命名为
- 实现移动和跳跃逻辑:
- 根据输入,设置 Rigidbody2D 的速度,实现左右移动。
- 当检测到空格键按下时,给予 Rigidbody2D 一个向上的速度,实现跳跃。
- 测试和调整:
- 点击播放按钮,测试玩家对象是否能够根据输入移动和跳跃。
- 根据需要调整移动速度和跳跃力度等参数。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BallScript : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if(Input.GetKeyDown(KeyCode.Space))
{
Debug.Log("Space key was pressed.");
}
if (Input.GetKey(KeyCode.Space))
{
Debug.Log("Space key is being held down.");
}
if (Input.GetKeyUp(KeyCode.Space))
{
Debug.Log("Space key was released.");
}
}
}

通过本教程,您将掌握在 Unity 中使用 C# 脚本捕获玩家输入的基础方法,为后续开发更复杂的游戏交互打下基础。