BazSceneCheckCondition
检查玩家当前所在的场景,或者他们是从哪个场景过来的。
为了支持我的工作,请考虑成为我的赞助者。![]()
下载:
BazSceneCheckCondition.gd (22.8 KB)
要求
AGMaker 1.3.0 及以上版本
安装
- 下载
BazSceneCheckCondition.gd(附在下方)。 - 将其放入项目的
custom_conditions/文件夹中。如果该文件夹不存在,请在项目根目录下创建它。使用子文件夹如custom_conditions/scene/也是可以的。 - 安装完成。它将会出现在 添加条件 对话框中的 场景 / シーン 组下。无需启用任何设置。
功能说明
通过文件路径而非节点名称来检查当前或之前的游戏场景。
- 当前或之前。 通过一个切换开关,测试玩家当前所在的场景,或者他们之前所在的场景。
- 按场景文件匹配。 它比较的是
res://路径,因此即使每个场景的根节点都命名为GameScene,它也能安全运行,并且在导出的构建版本中表现一致。 - 友好的场景下拉菜单。 自动扫描你的项目,并隐藏引擎和模板场景,让你只需选择想要的场景即可。
- 从第一次过渡起即可使用“之前”功能。 立即可靠使用,因此你可以基于“玩家是从标题画面还是游戏结束画面来的?”进行分支判断。
- 单一场景相等性。 每个条件只匹配一个场景。结合 AGMaker 的 And / Or / Not 条件,可以实现多场景检查。
使用方法
- Which Scene(选择场景) 用于决定你是测试当前场景还是之前的场景。
- Scene Picker(场景选择器) 是目标场景。下拉菜单会自动扫描你的项目,并隐藏引擎和模板场景。
第一次将 Which Scene 设置为 Previous(之前)时,条件会自动在你的主场景(core.tscn)中添加一个小型辅助节点(BazSceneTracker)。这是一次性操作,不需要自动加载(autoload),完全可逆。你会看到一个友好的黄色通知确认这一点,这是预期行为,并非错误。
提示
- 根据玩家来源进行分支判断。 在 Game Over 后的重生逻辑中使用 Previous(之前),从标题画面到来时跳过介绍,仅当玩家从特定房间来时解锁门,等等。

