6.8 避免警告

一些常见的错误条件在人物中经常产生大量的warning.
下面是一些最常见的情况和如何避免他们.

强制转换浮点型为整型

如果MUGEN期望某处是一个整型值(例如,一个var索引值),但却产生了一个浮点型值,则MUGEN将把浮点型转换成整型.
然而,它会抱怨,因为这也许会对你来说表示一个错误.
要摆脱warning,通过提供显式转换将浮点型转换为整型,也就是floor()或ceil().

重定向触发器到不存在的目标

如果你重定向到一个不存在的目标,就像你根本没有helper而你重定向到了helper,则bottom会产生且记录了warning.
这是因为表达式逻辑上模糊了(就是上篇文章提到的有歧义).你能通过在重定向前检测目标是否存在来避免warning.所以,

trigger1 = helper(1234), time > 20
将产生warning如果helper1234不存在.

trigger1 = numhelper(1234) > 0
trigger1 = helper(1234), time > 20
将不会.具体原因见上一篇文章的"注意"

另外,你能使用Cond触发器来隔离能潜在产生warning的代码.
假设我们要用一个表达式设定helper(1234)的生命值(如果他存在),如果不存在的话就设置player的生命值.则我们可以这么写:

Cond(numhelper(1234) > 0, (helper(1234), life), life)
(围绕helper(1234),life有一个额外的括号,它不是必要的,但能提高可读性)

缺少必要的 动作/图片素材

这不是表达式的问题.把缺失的补上!