我对这个感到困惑,但看起来很简单,我忽略了。
我的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类,剪辑不应该连续循环。
提前致谢!
答案 0 :(得分: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" />
或创建变量并使用它,例如this example from Adobe docs。
如果这一切最终都在真理领域,那么你可以像任何其他嵌入式SWF一样播放()和停止()。