我有一個導入外部SWF的Flash動畫。 我在外部SWF(WASD移動星形)內部有一些交互操作,並且在容器中(O改變圓形顏色)。 一切適用於Chrome和Firefox,但不適用於Internet Explorer,這讓我很頭疼。 下面是測試:http://clients.adrime.com/files/campaigns2/9785452187/38177/default.htm 這裏容器的交互代碼:AS3:鍵盤輸入將無法在Internet Explorer上工作
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的一個:
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;
}
那是什麼我失蹤?
嗨,我在flash.log中收到警告: 警告:引用未聲明的變量'_init'。它與你的代碼有關嗎?還有很多安全沙箱違規。 –