您好,
关于几个与锁定相关的行为存在疑问,特此咨询。
前提如下:
当攻击判定命中目标 → 进行锁定 → 操作被锁定的对象
基于此逻辑实现击退等行为。
-
在同一状态中,对命中攻击判定的对象进行锁定 → 修改被锁定对象的游戏速度,该功能无法生效。
→ 即使插入等待(如使用 Wait)以等待锁定完成,只要在同一状态下设置,均无反应。
被锁定对象的移动等功能正常,说明锁定本身已生效。
-
锁定有时无法解除。
→ 情况较为复杂,例如:
【攻击用状态】
解除锁定(目的是清除残留的锁定)
→ 设置攻击判定
→ 设置攻击
→ 锁定
→ 移动被锁定的对象
→ 解除锁定
若创建两个此类状态(设为 A 和 B),并使其可从 AnyState 触发,当连续执行 A 和 B 时,即使 B 未命中,被锁定对象的移动等行为仍会发生。
预期行为应为:在第一个动作中解除锁定,再次命中时重新锁定。请问这是否为当前规格?
烦请协助确认,不胜感激。
抱歉,问题1尚未解决,但可能已经找到了原因。
仅更改游戏速度时,效果目标对象被设定为“此对象锁定的对象”。由于攻击判定对象与运行.vs的对象不同,可能无法判定为“此对象已锁定”。
对象移动的目标是“被锁定的对象”,由于目标范围不同,移动功能可能仍然有效。
如果这是原因,能否在更改游戏速度的目标中也添加“被锁定的对象”?
更改游戏速度是一个很好的功能,拜托了。
目前,锁对象尚不支持“跨边界锁”(一对多锁),虽然可以通过在修改变量时指定“父对象”来实现一对多配置,但仍然存在一些缺陷。
你好,关于此问题,能否请您提供更多详细信息?
我已确认过该功能,似乎确实可以在“锁定对象”操作中同时锁定多个对象。
是否是因为如果不通过“更改属性”操作指定路径,就无法进行更改,因此无法一次性完成所有更改?
我将向开发团队确认,是否可以像指定父对象一样,不指定目标路径。
没错。目前,您可以锁定攻击判定范围内或屏幕内的多个对象,但在执行类似“自身变量 = 锁定对象的变量”的操作时,必须指定单个对象。目前,只有“父对象”指定功能支持跨对象批量修改相关变量。
1 个赞
谢谢,我会尝试一下。这是非常期待的功能,非常感谢。
1 个赞
关于第2点,我尝试了各种方法但无法复现……能否提供可复现的项目?如果您能通过gigafile便等渠道将其粘贴发送,或通过消息发送,将不胜感激。
1 个赞
感谢您的验证。
关于这一点,由于我们是通过 AnyState 切换状态并执行的,我认为根本原因可能是“直到状态结束前都不会解锁”的现象。
(因为我们是在不经过状态结束转换,如动画结束等的情况下切换状态的。)
如果这个问题得以解决,我们将基于该结果进行额外的验证!
再次感谢您的支持。
关于这一点,似乎是我自己的验证有误,“直到状态结束前无法解锁”的现象实际上已被正确解锁……
1 个赞
原来如此,给您添麻烦了,在我的项目中确实出现了这个问题……\n\n这个行为异常的状态我先重新创建,如果再次出现,我会将项目发送给您。\n\n感谢您在这么晚还给予帮助!