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有一个额外的括号,它不是必要的,但能提高可读性)
缺少必要的 动作/图片素材
这不是表达式的问题.把缺失的补上!