Kome
2025 年7 月 4 日 00:19
1
Actus 版本:v1.0.12,基于 Godot v4.3.1 [861d96a50]
操作系统:Windows 11
CPU:i5-12600K
GPU:RTX3060
内存大小:32GB
症状:
关于链接的其他条件中 AND、OR 的使用方式,
是否可以理解为与 Actus MV 的情况相同?
暂且假设这种处理方式是正确的,
我希望只要满足条件①或条件②中的任意一个,就能触发过渡。
然而,当仅满足条件②时可以正常过渡,
但仅满足条件①时却无法过渡。
当然,在 Actus MV 中,这个条件是正常工作的。
在 Action Game Maker 中,如果删除下面两个条件,仅保留条件①,
也能正常过渡。
请帮忙确认一下。
关于链接条件,您的理解是正确的。但如果希望满足条件①或条件②中的任意一个即进行转移,则需要稍作调整。
リンクのインスペクター
[image]
優先度(Priority)
同時に遷移条件を満たす場合、この値がより高いリンクが起動します。
ステートを切り替える条件(Conditions for Switching Actions)
全ての条件が満たされた(SATISFY_ALL): 「入力条件」と「その他の条件」の双方が満たされた場合に遷移します。
いずれかの条件が満たされた(SATISFY_…
我在该链接中已说明:
当创建四个条件 A AND B OR C AND D 时,其计算逻辑为:
(((A AND B) OR C) AND D)
即:需同时满足 A 和 B 且满足 D,或者同时满足 C 和 D,条件才成立。
若希望按照您期望的方式设置转移条件,则需要将链接分为两个:
链接1:A 且 B
链接2:C 且 D
目前,一个节点无法连接两个链接(我们计划对此进行改进),因此需要创建两个用于迂回的临时状态:
迂回状态1:连接链接1
迂回状态2:连接链接2
然后从这两个状态通过无条件转移条件连接到原本希望转移的目标状态。
此时,若启用“不经过一帧”选项,即可避免判定延迟的问题。
Kome
2025 年7 月 4 日 05:34
4
感谢您的回复。
表达式 (((A AND B) OR C) AND D) 有些复杂,我目前还不太理解……
我想确认一下:这是否意味着 Aktsuku MV 中的 AND/OR 逻辑规范发生了变化?
由于与 Aktsuku MV 的行为不一致,我将其作为问题进行了报告。
我所进行的工作是将原本在 Aktsuku MV 中持续开发的项目移植到 AGM。
在 Aktsuku MV 中,此类状态转换有相当数量,并且使用上述 AND/OR 条件时,所有转换均按预期执行。
在 AGM 中,这些规范似乎已发生变化。我是否应理解为今后需要采用新的方法进行开发?
目前这是新的规格……不过,确实从常规逻辑来看,采用 (A AND B) OR (C AND D) 的形式更为自然。
我会与开发团队稍作协商。
3 个赞
Kome
2025 年7 月 4 日 06:22
6
谢谢 汗
不好意思,(((A AND B) OR C) AND D) 这个我真的不太理解(^^;
我也正好遇到了这个问题……
虽然这是一种奇怪的实现方式,但将状态以非唯一的方式复制并排成两个,分别通过 A&B、C&D 进行转换,可能是当前规范下最智能的方案。(你可能已经注意到了)
1 个赞
Kome
2025 年7 月 4 日 12:38
8
是的,Moonling 先生也介绍了该方法。
在其他帖子中,关于从 A 状态到 B 状态只能建立一条链接的问题,我也采用了这种方法。但其中作为中间过渡的“伪状态”,需要勾选“不经过 1 帧”选项,或者将左右移动速度等其他各项参数设置为与前一个状态相同,相当麻烦。
如果是极少见的操作倒也罢了,但无论是 AND/OR 的规格变更,还是状态间单链接限制的问题,都需要进行这样的操作,感觉不得不频繁地执行这些繁琐的工作。因此,如果能对此进行改进,我们将不胜感激。
希望 Actzuku MV 中运行良好的功能,在 AGM 中也能尽可能被采用。
当然,如果能有比 Actzuku MV 更优秀的改进,我们更是热烈欢迎。
1 个赞
可能有些贪心,能否在链接条件中添加类似公式的括号功能呢?
1 个赞
Kome
2025 年7 月 5 日 00:15
10
确实,如果能自由地在任意位置添加括号,似乎就能解决所有问题了。
(变量A=1 and 变量B=2):当变量A为1且变量B为2时进行转换
(变量B=2 or 变量C=3):当变量B为2或变量C为3时进行转换
(变量A=1 and 变量B=2) or (变量B=2 and 变量C=3):当变量A为1且变量B为2,或者变量B为2且变量C为3时进行转换
(变量A=1 and (变量B=2 or 变量C=3)):当变量A为1且(变量B为2或变量C为3)时进行转换
是这样吗?作为稍微接触过一点编程的人,我觉得这非常易懂。不过在Visual Studio中该如何实现呢?添加括号功能让人充满期待。总之,希望它能变得更加易用和直观♪
Kome
2025 年7 月 9 日 00:15
11
非常抱歉,我之前没有正确理解您的建议。
非唯一且为复制,原来如此,这样的话就不需要创建另一个假状态了,确实目前这是最明智的做法。
不过,今后还是希望能引入括号功能。
表达式 (((A and B) or C) and D) 本身确实有些难以理解,但更让人困惑的是,当前的 A and B or C and D 会被解析为 (((A and B) or C) and D),这并不直观。
更何况,在旧版 RPG Maker MV 中,同样的 A and B or C and D 会被解析为 (A and B) or (C and D),虽然看起来更清晰,但如果没有括号,为什么会这样解析呢?这也是个问题。
而且,按照这种方式,如果希望将 (A and B) 应用于所有条件,例如:
(A and B) and (C or D or E)
就必须写成:
(A and B and C) or (A and B and D) or (A and B and E)
这样的条件非常繁琐。
实际上由于没有括号,最终会变成:
A and B and C or A and B and D or A and B and E
在旧版 RPG Maker MV 中,这导致逻辑变得极其复杂。
对于上述情况,虽然可以将连接线按 or 分成三条,但在 AGM 中目前只能连接一条线……(无奈)。
另外,也可以先执行 (A and B) 条件的动作(状态),然后再进入下一个分支。
但在旧版 RPG Maker MV 中,我们在公共动作的入口处使用了大量此类复杂条件,因此很难将动作(状态)分开……虽然并非完全不可行,但最好还是能在一个界面中集中处理所有条件。
因此,在 AGM 中,还是希望能让用户能够自行添加括号,不知道这是否可行?
如果实在困难,至少希望能恢复到旧版 RPG Maker MV 的解析规则。
1 个赞
Kome
2025 年8 月 19 日 08:50
12
关于此事,目前进展如何?
关于链接中 AND/OR 的处理方式,建议恢复为 ACTZ MV 的格式,或者更进一步,引入“括号”功能以实现进化。
此事若进行改进,可能会导致当前正在运行的脚本在多处无法正常工作,属于功能变更的范畴。
因此,包括我在内,在改进完成之前,AGM 上的工作都处于暂停状态。
拖延越久,用户端需要进行的调整工作量就越大,因此我曾认为该改进会具有较高的优先级并尽快实施……
然而,若维持现状,使用体验将变得极其不便。
1 个赞
关于这一点,目前正在进行与正在实施的“自由连接点链接”的整合工作。
在“自由连接点链接”的实施中,系统将允许像Access MV一样,从同一状态A到同一状态B连接多个链接,因此请您稍候。给您带来不便,深表歉意。
1 个赞
Kome
2025 年8 月 19 日 09:28
14
谢谢,期待自由连接点链接的引入♪ 我认为阿克茨克MV制作得非常好,希望保留其中的优点。关于AND OR的处理,是回到阿克茨克MV的方式吗? 另外,如果可能,引入括号将使其使用更加便捷,在这方面我认为阿克茨克MV将超越它,这有可能实现吗?
不,正如您所指出的,AND OR 功能会影响已创建项目的运行,即使能够实现,也会与自由链接产生冲突,因此将延后处理。
因此,首先将实现自由链接功能,如果届时仍存在相关问题,再考虑是否要在影响项目运行的情况下进行支持。