Flash 对ActionScript的行话调用不起作用

Flash 对ActionScript的行话调用不起作用,flash,actionscript,lingo,Flash,Actionscript,Lingo,我的导演项目中有一个闪光精灵。在该精灵的属性下,在“成员”和“精灵”选项卡下,其名称为“评估”。在我的行话脚本中,我有以下调用: sprite("Assessment").displayGrade(75, 3, 4) 其中displayGrade是在Flash对象的ActionScript中定义的函数,它是一种以3个数字作为参数的方法。但是,我在这一行中遇到了一个错误,无法确定原因。是否调用Flash对象的方法有误?请尝试以下操作: 设置对swf的容器内容引用, 这是Flash的主要时间线:

我的导演项目中有一个闪光精灵。在该精灵的属性下,在“成员”和“精灵”选项卡下,其名称为“评估”。在我的行话脚本中,我有以下调用:

sprite("Assessment").displayGrade(75, 3, 4)
其中displayGrade是在Flash对象的ActionScript中定义的函数,它是一种以3个数字作为参数的方法。但是,我在这一行中遇到了一个错误,无法确定原因。是否调用Flash对象的方法有误?

请尝试以下操作:

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

global swfTL
on beginSprite me
swfTL = getvariable(sprite('yourFlashSprite'),'_level0',False)
end
然后打电话

swfTL.displayGrade(75,3,4)

希望有帮助。

试试这个:

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

global swfTL
on beginSprite me
swfTL = getvariable(sprite('yourFlashSprite'),'_level0',False)
end
然后打电话

swfTL.displayGrade(75,3,4)


希望能有所帮助。

我对导演方面一无所知,但由于这个问题尚未解决,我会问:你在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部分没有问题,请提前道歉。这些只是猜测。

我对导演方面一无所知,但由于这个问题尚未解决,我会问:你在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部分没有问题,请提前道歉。这些只是猜测。

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

这也是:

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

问候,,
维格

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

这也是:

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

问候,,
维格

我的导演项目中有一个闪光精灵。在该精灵的属性下,在“成员”和“精灵”选项卡下,该精灵的名称为“first”。在我的行话脚本中,我有以下调用:

sprite("Assessment").displayGrade(75, 3, 4)
雪碧(“第一”)。1号

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

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

sprite("Assessment").displayGrade(75, 3, 4)
雪碧(“第一”)。1号

其中number1是Flash对象的ActionScript3中定义的变量:Flash中的a=25。然而,在director返回中,如果swf cteate在ActionScript2中返回25!
在as3中,从控制器内部的flash获取变量(swf)的语法是什么(如果swf是在as3中创建的)?

在尝试分配值之前,我得到了使用的变量的编译器错误。错误出现在on beginSprite me函数上。您好,当我发布帖子时,我假设您使用的是DirectorMX:在这里您可以找到MX和MX2004的解决方案:。软件版本非常重要。除了technote示例外,您可以尝试使用on mouseup me或exitframe me更改beginSprite处理程序。我怀疑beginSprite在Flash Player实例化之前执行。其他问题可能由版本冲突引起:据我所知,在Director MX中,您可以调用Flash MX(玩家6,作为1)函数我正在将Flash CS 3与ActionScript 3和Director 11一起使用。在尝试分配值之前,我遇到了一个使用的变量的编译器错误。错误出现在on beginSprite me函数上。您好,当我发布时,我假设您使用的是DirectorMX:在这里您可以找到MX和MX2004的解决方案:。软件版本非常重要。除了在technote示例中,您可以尝试使用on mouseup me或exitframe me更改beginSprite处理程序我怀疑beginSprite在Flash Player实例化之前执行其他问题可能是由版本冲突引起的:据我所知,在D