嵌入SWF wmode opaque Actionscript 3事件Mouse.Down事件怪异的行为

时间:2012-04-03 19:20:14

标签: html actionscript-3 mouseevent flash-cs5

我有一个嵌入式swf,其中变量wmode的值为“opaque”。我需要保持值“不透明”,因为我必须控制swf层与其他html元素,但是wmode“opaque”会导致MouseDown事件出现奇怪的行为。

如果光标被隐藏(通过Mouse.hide())并且您尝试按下鼠标左键,光标将显示,直到您释放左按钮或移动鼠标。

如果您已将光标更改为另一个(由MouseCursor),则会发生相同的错误(即光标将打开箭头模式)。 首先,我认为这是我的应用程序错误,然后我做了一个快速示例,错误仍然存​​在。

当我将wmode值更改为“window”时,错误不会发生,但我必须保持wmode“opaque”。

我的例子:

import flash.events.MouseEvent;
Mouse.hide();

stage.addEventListener(MouseEvent.MOUSE_DOWN,example);

function example(e:MouseEvent){
    ExternalInterface.call("console.log", "Hello World!");
}

HTML:

<div id="flashContent">
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
        codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
        width="100%"
        height="610px"
        id="pl_main">
        <param name="movie" value="teste_moude_down.swf" />
        <param name="quality" value="high" />
        <param name="allowScriptAccess" value="always" />
        <param name="bgcolor" value="#ffffff" />
        <param name="wmode" value="opaque" />
        <embed src="teste_mouse_down.swf" 
            width="100%" 
            height="610px"
            autostart="true"
            quality="high"
            bgcolor="#ffffff" wmode="opaque"
            name="pl_main"
            id="pl_main"
            allowScriptAccess="always"
            type="application/x-shockwave-flash"
            pluginspage="http://www.macromedia.com/go/getflashplayer" />
    </object>
</div>

1 个答案:

答案 0 :(得分:1)

使用swfobject嵌入swf,您决定嵌入时会遇到很多问题。