首页/ 第 13 章 · 2D 游戏开发/ 第 223 课
LESSON 223 · 2D 游戏开发

2D 完整小游戏制作(跑酷)

跑酷小游戏完成!2D 章毕业。下一课做 2D 优化与性能。

⏱ 约 30 分钟📊 难度:入门🗂 第 13 章 · 2D 游戏开发📍 第 223 / 300 课
课程进度
223 / 300

🎯本节学习目标

  • 整合 2D 全部能力
  • 制作跑酷玩法
  • 完成可玩闭环

🚀课程导读

2D 章毕业项目:自动向前跑、跳障碍、无限循环、得分结束,一个“能玩”的跑酷。

玩法设计

跑酷核心机制。

  1. 【玩法】角色自动向右跑,玩家只控制跳跃躲障碍,越久分越高。
  2. 【核心对象】
  3. 角色:自动移动(velocity.x 恒正)+ 跳跃。
  4. 障碍:从右侧生成,向左移动,碰到角色失败。
  5. 金币:生成在跳线上,吃加分的奖励。
  6. 地面:视差滚动 + 碰撞(第 213 课)。
  7. 【镜头】相机跟随角色 X(第 216 课)。
  8. 【循环】角色不真正移动,障碍移动(或反之),视觉是“跑”。
  9. 【完成】确定玩法后动手。
💡
跑酷核心:角色固定、世界移动。反向思维是跑酷的关键。

实现玩法

逐模块实现。

  1. 【角色】PlayerController:
  2. rb.velocity = new Vector2(runSpeed, rb.velocity.y); // 自动跑
  3. if (Input.GetKeyDown(KeyCode.Space) && grounded) rb.velocity = new Vector2(rb.velocity.x, jumpForce);
  4. 落地检测用射线(第 209 课)。
  5. 【障碍生成器】Spawner:
  6. IEnumerator SpawnLoop() { while(true) {
  7. yield return new WaitForSeconds(Random.Range(1f, 2.5f));
  8. Vector2 pos = new Vector2(12f, -3.2f); // 屏幕右侧外
  9. Instantiate(obstaclePrefab, pos, Quaternion.identity);
  10. } }
  11. 【障碍】向左移动 + 销毁:
  12. void Update() { transform.position += Vector3.left * speed * Time.deltaTime; if (transform.position.x < -12f) Destroy(gameObject); }
  13. 【金币】同障碍生成,放在“可跳吃”的高度。
  14. 【碰撞】障碍碰到角色:GameOver(第 163 课)。
  15. 【计分】距离计分:score += Time.deltaTime * 10;UI 更新。
  16. 【结束】GameOver 面板:得分 + 重新开始 + 返回。
  17. 【音效】跳跃/金币/失败音效(第 221 课)。
  18. 【测试】完整流程:跑→跳→吃→撞→结算。
  19. 【手感】跳跃高度要能越过最小障碍,间距合理。
  20. 【完成】你的跑酷游戏“能玩”了!
跑酷 = 自动跑(velocity)+ 障碍生成(Spawner)+ 跳跃躲闪 + 距离计分。闭环完成。

打磨与收尾

让它“好玩”。

  1. 【难度曲线】障碍生成间隔随分数递减(越来越密)。
  2. 【速度递增】runSpeed 随分数缓慢增加。
  3. 【特效】跳跃尘土粒子、碰撞爆炸(第 197-200 课)。
  4. 【动画】角色 2D 帧动画:跑/跳/死(第 141 课)。
  5. 【视差背景】三层视差让画面“活”(第 213 课)。
  6. 【UI】分数、最高分(PlayerPrefs 存 best,第 220 课)、开始/结束界面。
  7. 【最高分】结束时比较更新并显示“新纪录!”。
  8. 【音效】全程音效整合(第 221 课)。
  9. 【测试】多玩几遍找手感,调速度/跳跃/生成参数。
  10. 【发布】准备发布(第 281-295 章会详解)。
  11. 【完成】2D 章毕业!你有了一款“能玩”的跑酷游戏。
  12. 【注意】参数微调(速度/跳力/间距)是“手感”的关键,多试。
💡
让游戏“好玩”的打磨点:难度曲线、速度递增、特效动画、最高分激励。

常见错误与排查

错误:障碍太快看不清/太慢没挑战?
原因:生成间距与移动速度不匹配
解决:让“障碍间距 = 速度 × 间隔时间”,保证玩家有反应时间。

动手练习

课后小任务(做出来才算真的学会)

  • 完成跑酷核心玩法
  • 加入计分与最高分
  • 打磨手感与特效

本节小结

跑酷小游戏完成!2D 章毕业。下一课做 2D 优化与性能。

完成打卡后,主站会实时更新你的学习进度 🎯

← 上一课2D 对话与剧情系统