ACTION GAME MAKER 引入了父对象和子对象的独特概念,这与 Godot 原生的父子节点关系不同。
该系统旨在以结构化和可管理的方式实现玩家子单元或敌人部件等功能。
父子关系能实现什么功能?
父子关系允许实现以下行为:
-
自动跟随:子对象自动跟随父对象
-
伤害转移:当子对象受到攻击时,伤害可转移至父对象
此外,在执行动作(例如 ChangeObjectProperty)或条件(如 SwitchVariableChanged)中,您可以直接针对父对象进行操作。
如何创建父子关系
在父对象端
您可以通过特定的执行动作或 AGMaker 节点从父对象生成子对象。
执行动作
-
Generate Object(生成对象)
-
Fire Bullet(发射子弹)
注意:通过这些动作生成的对象并非作为子对象存在于场景树中(相对于生成对象而言),而是作为兄弟对象存在,或被放置在通过
MountTarget指定的层级中。
有关MountTarget的说明,请参阅手册:https://guild.rpgmakerofficial.com/t/topic/627
AGMaker 节点
- BindObjects(绑定对象)
此节点强制将两个对象绑定在一起。它也可用于在父子关系中生成子对象。
在子对象端
要定义子对象的行为,子对象必须包含 AGMaker 独占的节点:
ChildSettings(子对象设置)
ChildSettings 中可配置哪些内容?
-
跟随类型(Follow Type)
您可以选择恒定跟随或延迟跟随(基于距离或时间)。跟随速度基于子对象自身的移动速度设置。 -
受伤行为(Damaged Behavior)
您可以选择由子对象承受伤害,还是由父对象承受伤害。
如果由父对象承受伤害,您还可以应用来自子对象的伤害倍率。
结合BindObjects使用,此功能可用于重现弱点或装甲板等机制。 -
同步选项(Synchronization Options)
您可以将子对象的方向、旋转、缩放、视觉滤镜等与父对象进行同步。
此外,还有一个属性用于忽略来自父对象攻击的伤害。