我正在尝试使用脚本在eb指南中启动动画(状态输入操作)。脚本引擎报告错误:
Expected 'Function () : void' but got 'Error'
我该如何解决?
使用的脚本是:
function()
{
f:animation_play(this->"View 1"->"Animation 1")
}
我尝试获得类似于Sprite animation in eb guide (community ed)中描述的动画,但是它将在进入状态时开始。 使用的版本是eb guide 6.8社区版。
答案 0 :(得分:2)
脚本有两个问题:
函数返回错误的类型:
脚本引擎始终将最后一条命令的返回值用作函数的返回值。
在这种情况下,f:animation_play没有获得有效的参数(请参见下面的2.),该参数被解释为Error
的返回值。如果参数正确,则返回值仍将不正确,因为animation_play
返回布尔值(请参阅EB GUIDE Studio手册)。要返回void,请在脚本的最后一行中使用关键字unit
。
状态输入操作尝试开始动画
进入状态或离开状态时执行的脚本无法访问该状态的子级,因为它们尚未创建(或在状态离开时已经销毁)。
要进入状态时开始动画,有两种可能性(我建议使用第一种):
{
f:animation_play(v:this)
false
}
请注意false
关键字,该关键字可确保返回布尔值。一旦输入当前状态并初始化所有小部件,该脚本就会自动运行一次。