太棒了!选择 Unity 是个很好的决定。为了让你最快上手,我们不讲复杂的理论,直接动手做一个**"类似 Flappy Bird 的点击跳跃游戏"**。
这个核心玩法只需要 1 个脚本 和 3 个步骤。
准备工作
-
打开 Unity Hub ,点击 New Project。
-
选择 2D Core (2D 核心),项目命名为
MyFirstGame,点击创建。
第一步:创建主角(那只鸟)
我们需要一个东西来代表玩家。
-
创建物体: 在左侧的 Hierarchy (层级) 窗口空白处 -> 右键 -> 2D Object -> Sprites -> Circle。
-
重命名: 把它改名为
Player。 -
修改颜色: 在右侧 Inspector (属性) 窗口中,点击 Sprite Renderer 下的 Color,把它改成你喜欢的颜色(比如黄色)。
-
添加物理属性:
-
选中
Player。 -
在 Inspector 最下方点击 Add Component。
-
搜索并选择 Rigidbody 2D (刚体)。
-
解释:加上这个组件,你的圆圈就有了"重量",运行游戏它就会掉下去。
-
第二步:让它动起来(编写代码)
现在我们要写一点点代码,让它按空格键时跳起来。
-
创建脚本: 在下方的 Project 窗口 -> 右键 -> Create -> C# Script。
-
命名: 一定要命名为
PlayerController(注意大小写,不要有空格),然后双击打开。 -
复制粘贴: 把里面的代码全部删掉,粘贴下面的代码:
C#
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float jumpForce = 5f; // 跳跃力度,可以在Unity里调整
private Rigidbody2D rb;
void Start()
{
// 游戏开始时,获取主角身上的物理组件
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
// 如果按下了鼠标左键 或者 空格键
if (Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.Space))
{
// 给主角一个向上的速度
rb.velocity = Vector2.up * jumpForce;
}
}
}
-
挂载脚本: 回到 Unity,把写好的
PlayerController脚本拖拽 到 Hierarchy 里的Player物体上。 -
测试: 点击屏幕顶部的 ▶ (播放) 按钮。
- 结果:圆圈会下落,当你按空格时,它应该会跳起来!
第三步:添加地板(处理碰撞)
现在主角会一直掉出屏幕,我们需要一个地板。
-
创建地板: 在 Hierarchy -> 右键 -> 2D Object -> Sprites -> Square。
-
调整形状:
-
命名为
Ground。 -
在 Inspector 里找到 Transform ,把 Scale X 改成
20,Scale Y 改成1。 -
用鼠标把它拖到屏幕下方。
-
-
添加碰撞体:
-
选中
Ground-> Add Component -> 搜索 Box Collider 2D。 -
选中
Player-> Add Component -> 搜索 Circle Collider 2D。
-
-
测试: 再次运行。现在主角掉下来会停在地板上,而不是穿过去了。
第四步:简单的"游戏失败"(重启)
如果主角掉出屏幕或撞到障碍物,游戏应该重开。
-
再次打开
PlayerController脚本。 -
在最上面添加一行:
using UnityEngine.SceneManagement; -
在脚本的最后面(但在最后一个
}之前),添加这段代码:
C#
// 当发生碰撞时自动调用
void OnCollisionEnter2D(Collision2D collision)
{
// 重新加载当前场景(相当于重置游戏)
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}
现在的完整逻辑是:
你控制小球跳跃 -> 如果你控制不好撞到了地板 -> 游戏瞬间重置。
你的下一步
恭喜!你刚刚完成了游戏开发的核心循环(输入 -> 反馈 -> 失败判定)。
虽然它很简陋,但所有的大作都是从这里开始的。为了让它更有趣,你可以试着做以下一步(Would you like me to...):
你想学习如何把地板改成"向左移动的柱子"(让游戏变成真正的跑酷),还是想学怎么添加"吃金币加分"的功能?