我有一个swf-A,只要在某个对象上触发MOUSE_OVER事件,就会使用gotoAndPlay加载并播放swf-B。将鼠标悬停在对象上时,播放swf-B的动画,一切正常。
object.addEventListener(MouseEvent.MOUSE_OVER,handleMouseEvent);
[Embed(source = "B.swf")]
public static var EmbedSwf:Class;
[Bindable]public var _swf:MovieClipLoaderAsset = new EmbedSwf();
private function handleMouseEvent(e:Event):void{
MovieClip(Loader(_swf.getChildAt(0)).content).gotoAndPlay("animation_start");
}
然而,当我将swf-A嵌入到另一个swf-C中时,当鼠标超过swf-B时,不会播放swf-B的动画,而是在将鼠标放在swf-B上并移出后播放。 (出现的时机很奇怪)
我已确认鼠标事件已正确触发。我还将swf-C的mouseEnabled设置为false,并将swf-A设置为使用与swf-C相同的ApplicationDomain。
由于当swf-A没有嵌入swf-C时没有发生问题,我认为问题可能来自嵌入。当swf-A嵌入到swf-C中时,我是否想念一些东西?
这是我第一次在这个网站上询问。如果我的问题还不够,请告诉我。
答案 0 :(得分:0)
我已经解决了这个问题。问题的一个原因是包装swf-C(flex-4.6)的flex版本高于包裹的swf-A(flex-3.4.1.10084A)并且它引起了奇怪的行为。
我降级了包装swf-C的flex版本,一切顺利。