1

外部SWFをインポートするフラッシュムービーがあります。外部SWF(星を動かすWASD)とコンテナ(円の色を変えるO)の中で相互作用があります。すべてがChromeとFirefoxで動作しますが、Internet Explorerでは動作しません。これは、私に頭痛の種を与えています。テストは次のとおりです。http ://clients.adrime.com/files/campaigns2/9785452187/38177/default.htm ここにCONTAINERの相互作用のコードがあります。

stage.focus = stage;
stage.addEventListener(KeyboardEvent.KEY_DOWN, onoff);
function onoff(e:KeyboardEvent):void
{
    if(e.keyCode == 79) //O
        bulb.gotoAndStop(bulb.currentFrame == 1 ? 2 : 1);
}

ここに外部SWFの1つがあります:

this.addEventListener(Event.ADDED_TO_STAGE, added);

function added(e:Event):void
{
    stage.addEventListener(KeyboardEvent.KEY_DOWN, tastiera);
}

function tastiera(e:KeyboardEvent):void
{
    if(e.keyCode == Keyboard.A)
        st.x -= 5;
    else if(e.keyCode == Keyboard.D)
        st.x += 5;
    else if(e.keyCode == Keyboard.W)
        st.y -= 5;
    else if(e.keyCode == Keyboard.S)
        st.y += 5;
}

私が行方不明になっているのは何ですか?

4

1 に答える 1

0

オペレーティングシステムとWebブラウザは、AdobeFlashPlayerまたはAIRの前にキーボードイベントを処理します。

セキュリティ上の理由から、FLASHがオートフォーカスになることはありません。そうしないと、キーボード入力を盗むのは簡単です。

HTMLページに埋め込まれたFlashムービーは、ページが最初にWebブラウザに読み込まれたときに重要なイベントを受け取りません。

公式のJavascriptソリューションがあります。SWFObjectを使用してフラッシュコンテンツを埋め込むこともできます。

于 2013-01-07T12:46:14.167 に答える