AS3在常规组合键的判断上更方便了 Shift Ctrl Alt 都可以直接得到状态
A+B+C这样的组合还得自己写方法,可以在KEYDOWN时它按下的键放入数组,KEYUP时删除。然后读取数组知道这些键是否已经按下。
var key_obj:Object=new Object; function onKeyDownHandler(_evt:KeyboardEvent ):void { var _code:String =String.fromCharCode (_evt.keyCode); key_obj[_code]=true; _evt.ctrlKey&&trace("Ctrl键被按下"); _evt.altKey&&trace("Alt键被按下"); _evt.shiftKey&&trace("Shift键被按下"); for (var p:String in key_obj) {//用于其它字母和数字鍵 trace("当前按下的键有:"+p); } } function onKeyUpHandler(_evt:KeyboardEvent ):void { var _code:String =String.fromCharCode (_evt.keyCode); key_obj[_code]=null; } stage.addEventListener(KeyboardEvent.KEY_UP ,onKeyUpHandler); stage.addEventListener(KeyboardEvent.KEY_DOWN ,onKeyDownHandler);