Flash 控制器11和闪存与AS 2通信

Flash 控制器11和闪存与AS 2通信,flash,actionscript-2,lingo,adobe-director,Flash,Actionscript 2,Lingo,Adobe Director,我有一个导演项目,有3个剧本(2个行为和1个电影剧本)。我的电影脚本中有以下代码: 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 passG

我有一个导演项目,有3个剧本(2个行为和1个电影剧本)。我的电影脚本中有以下代码:

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
,舞台上有一个名为
Assessment
的Flash对象,该对象有一个名为
displayGrade
的ActionScript方法,该方法以3个数字作为输入

我有两个问题。首先,调用
-movie.script[“script2”].passGrade(75,3,4)
不起作用,我不知道为什么。我不能从电影剧本中调用行为吗?还是我做得不对?第二个问题是如何调用ActionScript方法?脚本被定义为Flash对象的一种行为,称为
评估
,但Director似乎无法找到该方法


我正在使用Director 11和修补程序3,Flash对象是为ActionScript 2编译的。

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


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

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

脚本(“脚本2”).passGrade(75,3,4)

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

sendSprite(flashSpriteNumOrNameOrRef,#通行等级,75,3,4)

关于在flash sprite中调用函数,您可以执行大致相同的操作,但您将调用发送给flash sprite,而不是成员:

精灵(flashSpriteNumOrNameOrRef)。显示等级(acc、dur、tim)

如果行为已附加到精灵: 雪碧(我的雪碧)。显示等级(acc、dur、tim)