Внедрить SWF wmode непрозрачное событие Actionscript 3 Событие Mouse.Down со странным поведением - PullRequest
1 голос
/ 03 апреля 2012

У меня есть встроенный SWF, где переменная wmode имеет значение "непрозрачный". Мне нужно сохранить значение «непрозрачный», потому что я должен управлять слоем swf по отношению к другим html-элементам, однако wmode «непрозрачный» вызывает странное поведение при событии 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 Ответ

1 голос
/ 05 апреля 2012

Используйте swfobject для встраивания SWF, и вы решите множество проблем с встраиванием.

...