Lingo 对 ActionScript 的调用不起作用

发布于 2024-07-13 00:11:32 字数 295 浏览 8 评论 0原文

我的 Director 项目中有一个 Flash 精灵。 在该精灵的属性下,在“成员”和“精灵”选项卡下,它的名称为“评估”。 在我的 Lingo 脚本中,我进行了以下调用:

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

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

I have a Flash sprite in my Director project. Under the Properties of that sprite, under both the Member and the Sprite tabs, it has as its name "Assessment". In my Lingo script, I have the following call:

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

where displayGrade is a function defined in the Flash object's ActionScript as a method taking 3 numbers as parameters. However, I get an error on this line, and cannot determine why. Am I calling the Flash object's method incorrectly?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

゛清羽墨安 2024-07-20 00:11:32

我浏览了一下,发现了这个:

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 文档进行验证。

问候,
维格

I browsed a little and I found this one:

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

and this too:

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

Of course, you should verify by browsing the Director 11 docs.

Regards,
Vyger

傲性难收 2024-07-20 00:11:32

我对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 部分没问题,请提前致歉。 这些只是猜测。

I don't know a thing about the Director side, but since this isn't resolved yet I'll ask: how are you doing things on the Flash side?

  • You said your SWF uses AS3, but AS2 and AS3 use completely different engines, so it's very possible that Director can call one but not the other, or that the method differs. Testing with a simple AS2 SWF might help.
  • Where are you defining your function in Flash? If your member Sprite is referring to a SWF, then I'd think you likely want the function to be on the main timeline of the flash file. But if your member Sprite is referring to an actual Sprite in the flash movie, then that wouldn't work, and you would need the function to be defined inside the Sprite (or the class attached to the sprite, perhaps).
  • If there's any doubt about the Flash side, have you tried to call flash methods that are built-in (and hence guaranteed to be present)? If the movie has more than one frame in its top level, you could try calling methods like play(), stop(), or gotoAndStop(n:Number). If there is only one frame then it's not so easy, as most other methods wouldn't have an obvious visual effect.

Apologies in advance if you're already sure the Flash part is okay. These are only guesses.

一百个冬季 2024-07-20 00:11:32

试试这个:

设置一个对您的 swf 的容器内容引用,
这是 Flash 主时间线:

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

然后调用

swfTL.displayGrade(75, 3, 4)

希望有帮助。

Try this:

set up a container-content reference to your swf,
that is the Flash main timeline:

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

then call

swfTL.displayGrade(75, 3, 4)

Hope it helps.

北音执念 2024-07-20 00:11:32

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

sprite("first").number1

其中 number1 是 Fl​​ash 中 Flash 对象的 ActionScript3 :a=25 中定义的变量。 但是,在director中返回,但如果在ActionScript2中使用swf cteate则返回25!
as3中从director内部的flash(swf)获取变量的语法是什么(如果swf是在as3中创建的)?

I have a Flash sprite in my Director project. Under the Properties of that sprite, under both the Member and the Sprite tabs, it has as its name "first". In my Lingo script, I have the following call:

sprite("first").number1

where number1 is a variable defined in the Flash object's ActionScript3 :a=25 in flash. However,in director return , but if swf cteate in ActionScript2 return 25 !
what is syntax in as3 for get variable from flash(swf) inside director (if swf created in as3)?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文