0

我有一个包含 3 个脚本(2 个行为和 1 个电影脚本)的 Director 项目。我的电影脚本中有以下代码:

on startRecording ()
  --do stuff
  _movie.script["script2"].passGrade(75, 3, 4)
end

在我的一个行为脚本中,我有以下内容:

on passGrade (acc, dur, tim)
  member("Assessment", "Assessment").displayGrade(acc, dur, tim)
end passGrade

其中第二个行为脚本的名称是script2,并且舞台上有一个 Flash 对象被调用Assessment,该对象具有一个被调用的 ActionScript 方法displayGrade,该方法以 3 个数字作为输入。

我有 2 个问题。首先,电话-movie.script["script2"].passGrade(75, 3, 4)不起作用,我不知道为什么。我不允许从电影剧本调用行为吗?还是我没有正确执行此操作?第二个问题是如何调用 ActionScript 方法?该脚本被定义为 Flash 对象的一种行为,称为Assessment,但 Director 似乎无法找到该方法。

我将 Director 11 与 HotFix 3 一起使用,并且 Flash 对象是为 ActionScript 2 编译的。

4

2 回答 2

1

调用行为脚本的语法应该是:

script("script2").passGrade(75, 3, 4)

或者,您可以将您的行为附加到 flash sprite(舞台上 flash 的实例),并将调用发送到 sprite:

sendSprite (flashSpriteNumOrNameOrRef, #passGrade, 75, 3, 4)

关于调用 flash sprite 中的函数,您或多或少做相同的事情,但是您将调用发送到 flash sprite,而不是成员:

sprite(flashSpriteNumOrNameOrRef).displayGrade(acc, dur, tim)

如果行为附加到精灵: sprite(me.spriteNum).displayGrade(acc, dur, tim)

于 2009-11-10T18:25:20.467 回答
0

电影脚本不能调用行为脚本,因为行为脚本可以附加到多个对象,然后呢?

电影剧本是“静态的”,而行为是“动态的”。您应该通过 Flash 对象实例/精灵引用行为函数。

于 2009-04-16T11:01:42.590 回答