Lingo调用ActionScript无法正常工作

时间:2009-01-22 02:15:29

标签: flash actionscript lingo

我的Director项目中有一个Flash精灵。在该精灵的属性下,在Member和Sprite选项卡下,它的名称为“Assessment”。在我的Lingo脚本中,我有以下呼叫:

sprite("Assessment").displayGrade(75, 3, 4)

其中displayGrade是Flash对象的ActionScript中定义的函数,它是一个以3个数字作为参数的方法。但是,我在这一行上收到错误,无法确定原因。我是否错误地调用了Flash对象的方法?

4 个答案:

答案 0 :(得分:3)

我浏览了一下,我找到了这个:

http://groups.google.com/group/macromedia.director.basics/browse_thread/thread/85203d2879267fe1?pli=1

这也是:

http://dreamweaverforum.info/director/23160-director-11-actionscript-3-a.html

当然,您应该通过浏览Director 11文档进行验证。

此致 Vyger

答案 1 :(得分:2)

我对Director方面一无所知,但由于这个问题尚未解决,我会问:你是如何在Flash方面做的?

  • 您说您的SWF使用AS3,但AS2和AS3使用完全不同的引擎,因此Director很可能只调用一个而不是另一个,或者方法不同。使用简单的AS2 SWF进行测试可能有所帮助。
  • 你在Flash中定义你的功能在哪里?如果您的成员Sprite指的是SWF,那么我认为您可能希望该函数位于Flash文件的主时间轴上。但是如果你的成员Sprite在flash影片中引用了一个实际的Sprite,那么那就行不通了,你需要在Sprite里面定义这个函数(或者是附加到sprite的类)。
  • 如果对Flash方面有任何疑问,您是否尝试过调用内置的flash方法(因此保证存在)?如果影片的顶层有多个帧,则可以尝试调用play(),stop()或gotoAndStop(n:Number)等方法。如果只有一个帧那么它就不那么容易了,因为大多数其他方法都没有明显的视觉效果。

如果你已经确定Flash部分没问题,请提前道歉。这些只是猜测。

答案 2 :(得分:1)

试试这个:

设置swf的容器内容引用, 这是Flash主时间轴:

global swfTL
on beginSprite me
swfTL = getvariable(sprite('yourFlashSprite'),'_level0',False)
end

然后致电

swfTL.displayGrade(75, 3, 4)

希望它有所帮助。

答案 3 :(得分:0)

我的Director项目中有一个Flash精灵。在该精灵的属性下,在Member和Sprite选项卡下,它的名称为“first”。在我的Lingo脚本中,我有以下呼叫:

子画面( “第一”)。NUMBER1

其中number1是Flash对象的ActionScript3中定义的变量:a = 25 in flash。但是,在导演返回时,如果在ActionScript2中swf cteate返回25! 什么是as3中的语法,用于从导向器中的flash(swf)获取变量(如果在as3中创建了swf)?