2

我被这个难住了,但我忽略了这件事似乎很简单。

我的 Flex 应用程序嵌入(即编译)另一个 SWF 的 MovieClip,如下所示:

[Embed(source='assets/clips.swf', symbol='MyClip')] 
private var MyClip:Class;

...然后使用mx:Image标签来显示它:

<mx:Image source="{MyClip}" width="300" height="100" />

...但由此产生的剪辑永远循环。我希望它只播放一次然后停止。

源剪辑stop()在其最后一帧中定义了一个动作,但我怀疑脚本在编译时被剥离,所以我想知道如何以某种方式告诉 Image 标签或 MyClip 类剪辑不应该连续循环.

提前致谢!

4

1 回答 1

0

我不使用 Flex,所以这些想法不是我通过实践知道的;但这是我发现的:

如果 SWF 文件包含任何 ActionScript 代码,Flex 会在编译期间打印一条警告,然后从嵌入符号中删除 ActionScript。这意味着您只能嵌入符号本身。-- http://livedocs.adobe.com/flex/3/html/help.html?content=embed_4.html

另外,我相信舞台上的那个类MyClip是一个,而不是一个实例。Class所以 。. . 您必须执行以下操作:

<mx:Image source="{new MyClip()}" width="300" height="100" />

或创建一个变量并使用它,例如 Adob​​e docs 中的这个示例

如果这一切最终都在真理的领域,那么您可以像任何其他嵌入式 SWF 一样 play() 和 stop()。

于 2012-04-04T02:54:52.470 回答