scripting - EB Guide (com.ed 6.8) 脚本引擎报告 "Expected ' Function () void' 但得到 'Error'

标签 scripting

我正在尝试使用脚本(状态输入操作)在 eb Guide 中启动动画。脚本引擎报告错误:

Expected 'Function () : void' but got 'Error'

我该如何解决这个问题?

使用的脚本是:

function()
{
   f:animation_play(this->"View 1"->"Animation 1")
}

我尝试获得类似于 Sprite animation in eb guide (community ed) 中描述的动画。 ,但应在进入状态时启动。 使用的版本是ebguide 6.8社区版。

最佳答案

脚本存在两个问题:

  1. 函数返回错误类型:

    脚本引擎总是将最后一个命令的返回值作为函数的返回值。

    在这种情况下,f:animation_play 没有获得有效的参数(参见下面的 2.),该参数被解释为 Error 返回值。即使参数正确,返回值仍然不正确,因为 animation_play 返回 bool 值(请参阅 EB GUIDE Studio 手册)。要返回 void,请使用关键字 unit 作为脚本中的最后一行。

  2. 状态输入操作尝试启动动画

    进入或离开状态时执行的脚本无法访问该状态的子级,因为它们尚未创建(或者在状态离开时已经被销毁)。

    进入状态时启动动画,有两种可能(我建议使用第一种):

    • 使用以下代码将脚本移动到动画小部件(添加条件脚本作为用户定义的属性):
    {
     f:animation_play(v:this)
     false
    }
    

    请注意 false 关键字,它可确保返回 bool 值。一旦进入当前状态并初始化所有小部件,脚本就会自动运行一次。

    • 在入口 ActionScript 中触发一个事件;另一个脚本可以对此事件使用react以启动动画。如果您不想直接启动动画但有一些延迟,这会很有帮助。否则,第一种方法更简单。

关于scripting - EB Guide (com.ed 6.8) 脚本引擎报告 "Expected ' Function () void' 但得到 'Error',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58030330/

相关文章:

linux - awk 将命令输出保存到变量

python - 环境 python 脚本,需要使用以前运行的结果

linux - 从 bash 脚本打开 iTerm2 并运行命令

bash - 用于 ETL 过程的 KornShell 或 Bash Shell?

powershell - AzureKeyVaultSecret 备份/导入 powershell 命令在哪里?

linux - 在 bash 中使用 for 循环检查数组元素是否为空

linux - 在行字符串中找到最大数并显示两列 - linux

powershell - 在PowerShell中-如何同时创建父OU和子OU?

linux - 在每行的开头添加前缀字符串

regex - Bash 案例条件