天天看點

常用事件方法及技巧(三) -- KeyboardEvent(鍵盤事件)

   關于鍵盤事件,有幾點說明:

    1. 直接在Flash調試鍵盤操作的時候,最好禁用快捷鍵,不然會和Flash預設的快捷方式沖突。

    方法:CTRL+ENTER 進入測試後,點控制->禁用快捷鍵

    2. 事件最好監聽在stage(舞台上),不然會有很多激活的麻煩。

    語句如下:stage.addEventListener(KeyboardEvent.KEY_DOWN, eventResponse);

    3. 許多人說,MovieClip不能使用鍵盤監聽,這個是錯的。

    不是不能監聽,而是比較麻煩,同時AS3.0預設是禁止的,需要手動打開。

    代碼如下:

    t1.buttonMode=true; //打開影片剪輯t1的鍵盤監聽功能

    function p1(event: ):void

    {

        trace("t1 responsed");

    }

    t1.addEventListener(KeyboardEvent.KEY_DOWN, p1);

    運作的時候先點選一下t1以激活,如何,可以監聽吧。

    如果你想預設就是t1,也可以實作,再加上這麼一句:

    stage.focus = t1; //設定舞台預設焦點

    是以,不要冒冒然下結論,多思考下原因,也許就會找到解決辦法了。

    4. 不要去看什麼按鍵大全,到時候用的時候測試下就好了。這樣會節省很多時間。

    然後,我對KeyboardEvent的兩個屬性做個簡單說明:

    1. keyLocation:

    一般情況都為0。按左shift的時候傳回1,按右shift的時候傳回2

    (Ctrl Alt等按鍵類似)

    2. charCode和keyCode的差別:

    隻有一個差別:當你按住Shift然後按數字2:

    Keycode 傳回的是“2”的字元代碼。

    charcode 傳回的是“@”的字元代碼。

本文轉自 windtoto 51CTO部落格,原文連結:http://blog.51cto.com/windtoto/373263,如需轉載請自行聯系原作者

繼續閱讀