我试图挂载脚本在node2d,或是VariableSettings,DamageDisplaySettings节点都没用
请官方增加一个在VariableSettings节点的taken_damage显示为-1时候,DamageDisplaySettings节点可以将前缀的【-】变成【+】
我为你做了一个东西:
BazFloatingTextAction.gd (42.7 KB)
根据我的研究,原生的伤害显示功能无法实现这一效果。负伤害时的减号是由引擎侧的伤害显示生成的,并且没有设置可以将其翻转以用于治疗数值。
因此,我为这种情况构建了一个小型自定义动作。它名为 BazFloatingTextAction,我目前正在测试中,稍后会分享文件和演示。这是一个单独的 .gd 文件,你只需将其放入项目的 custom_actions/ 文件夹中即可。就这样,它随后会出现在 添加动作 对话框的 显示 类别下。
对于你的治疗物品,在视觉脚本中,在你应用负伤害的相同位置,添加浮动文本动作:
- 显示文本 =
+{amount},其中{amount}部分会被替换为实际数值。BBCode 也可以使用,例如[wave]+{amount}[/wave]。 - 数值来源 = 你的治疗数值所在的位置:你可以输入的常量、对象上的变量、项目变量或数据库单元格。也可以选择“无数值”以显示纯文本,例如 MISS(未命中)。
- 绝对值 = 开启。这是针对你情况的关键部分,存储为
-100的治疗数值会显示为100,因此配合模板中的+号,最终显示为 +100。 - 目标模式 = 此对象(弹出窗口出现在运行该动作的物品上方)或指定对象(选择任意对象场景,例如你的玩家)。
接下来是 cosmetic 设置:字体、大小、颜色、轮廓、锚点以及生成位置的像素偏移量,还有上升距离、持续时间和淡出效果。
每个触发器都会生成一个独立的弹出窗口,它会上升、淡出并自行删除。因此,连续喝五瓶药水只会叠加五个弹出窗口,不会导致任何错误。希望这能帮到你!
1 个赞
谢谢你
我去测试一下
