[自定义条件] Baz 场景检查条件

BazSceneCheckCondition

检查玩家当前所在的场景,或者他们是从哪个场景过来的。

为了支持我的工作,请考虑成为我的赞助者:folded_hands:

下载:
BazSceneCheckCondition.gd (22.8 KB)

要求

AGMaker 1.3.0 及以上版本

安装

  1. 下载 BazSceneCheckCondition.gd(附在下方)。
  2. 将其放入项目的 custom_conditions/ 文件夹中。如果该文件夹不存在,请在项目根目录下创建它。使用子文件夹如 custom_conditions/scene/ 也是可以的。
  3. 安装完成。它将会出现在 添加条件 对话框中的 场景 / シーン 组下。无需启用任何设置。

功能说明

通过文件路径而非节点名称来检查当前或之前的游戏场景。

  • 当前或之前。 通过一个切换开关,测试玩家当前所在的场景,或者他们之前所在的场景。
  • 按场景文件匹配。 它比较的是 res:// 路径,因此即使每个场景的根节点都命名为 GameScene,它也能安全运行,并且在导出的构建版本中表现一致。
  • 友好的场景下拉菜单。 自动扫描你的项目,并隐藏引擎和模板场景,让你只需选择想要的场景即可。
  • 从第一次过渡起即可使用“之前”功能。 立即可靠使用,因此你可以基于“玩家是从标题画面还是游戏结束画面来的?”进行分支判断。
  • 单一场景相等性。 每个条件只匹配一个场景。结合 AGMaker 的 And / Or / Not 条件,可以实现多场景检查。

使用方法

  • Which Scene(选择场景) 用于决定你是测试当前场景还是之前的场景。
  • Scene Picker(场景选择器) 是目标场景。下拉菜单会自动扫描你的项目,并隐藏引擎和模板场景。

第一次将 Which Scene 设置为 Previous(之前)时,条件会自动在你的主场景(core.tscn)中添加一个小型辅助节点(BazSceneTracker)。这是一次性操作,不需要自动加载(autoload),完全可逆。你会看到一个友好的黄色通知确认这一点,这是预期行为,并非错误。

提示

  • 根据玩家来源进行分支判断。 在 Game Over 后的重生逻辑中使用 Previous(之前),从标题画面到来时跳过介绍,仅当玩家从特定房间来时解锁门,等等。
5 个赞