在 Yop2D 中,每一关就是一个场景。玩家走到关卡尽头时,会碰到一个看不见的终点区域,游戏就进入下一个场景。
你需要:
- 一个能正常运行的第一关,里面有一个名为 player 的、可以移动的角色;
- 第二关(我们在第 1 步创建)。
第 1 步:每关一个场景
- 在左侧面板打开 场景 区域。
- 把当前场景重命名为 Level1,然后新建一个场景 Level2。
- 搭建第 2 关:地面、平台,还有带按钮的角色 player。
⚠️ 每个场景都有自己的对象和自己的 Blueprint。第 1 关的按钮和角色在第 2 关里并不存在:需要在那里重新添加,并在第 2 关的 Blueprint 中重新连好它们的节点。
第 2 步:终点区域
- 回到 Level1。
- 添加一个 区域 对象(类别 基本形状与视觉效果),命名为 finish。
- 把它放在关卡尽头、玩家要到达的地方。区域在游戏中是看不见的:在同一位置放一面旗子或一扇门,让玩家能看到。
第 3 步:第 1 关的 Blueprint
- 打开 Level1 的 蓝图。
- 添加 “碰撞 A/B” 事件:对象 A player,对象 B finish。
- 添加 “下一个场景” 节点(类别 场景与 HUD),把它连到 碰撞 输出。
- 保存,开始游戏,走到区域那里。
碰撞 A/BA:player · B:finish
碰撞 →
下一个场景
👉 “下一个场景” 按场景列表的顺序前进:Level1、Level2、Level3……如果要去某个特定场景(比如“太棒了!”画面),请改用 “切换场景”,并选择那个场景作为目标。
在关卡之间保留分数
作用域为 “局部” 的变量在每个场景都会从零开始。要让分数带到第 2 关,请把 score 变量的作用域设为 “全局”(变量 区域)。这样所有关卡用的就是同一个变量。
👉 在第 2 关,记得一开始就显示分数:“启动时” → “修改文本”(scoreText),内容为
="分数:" + score。如果不起作用
- 在区域里没有反应:检查 “碰撞 A/B” 中的名称 player 和 finish,并确认区域确实在玩家的路线上。
- 游戏没有换场景:在场景列表中,Level1 必须排在 Level2 前面。如果后面没有场景,“下一个场景” 什么也不会做。
- 第 2 关没有反应:它的节点在它自己的 Blueprint 里;打开 Level2 的 Blueprint 添加它们。