如何在不循环的情况下将SWF中的MovieClip嵌入到Flex应用程序中?

时间:2012-04-04 00:49:46

标签: flex actionscript movieclip

我对这个感到困惑,但看起来很简单,我忽略了。

我的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类,剪辑不应该连续循环。

提前致谢!

1 个答案:

答案 0 :(得分:0)

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

  

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

另外,我认为MyClipClass,而不是舞台上该类的实例。所以。 。 。你必须做类似的事情:

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

或创建变量并使用它,例如this example from Adobe docs

如果这一切最终都在真理领域,那么你可以像任何其他嵌入式SWF一样播放()和停止()。