關于鍵盤事件,有幾點說明:
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,如需轉載請自行聯系原作者