使用AS3获取组合键

判断键盘上两个按钮同时按下即是否使用了组合键.

KeyboardEvent类,提供了普通键盘上三个控制键(Ctrl,Shift和Alt)是否处在活动状态的判断,通过这个判断来确定用户是否按下了组合键.

但是,组合键的判断不能写在KEY_DOWN事件里,因该写在KEY_UP事件中才能获取.

原因很简单,我举个例子,我们先按下Ctrl键时,触发的是KEY_DOWN事件,接着不要放开Ctrl键再去按V键

这时会触发两个事件

第一:触发Ctrl键的弹起事件,尽管我们没放开Ctrl键,但按下了V键所以这个事件被抛来了,我们正好在这里捕获到组合键.

第二:触发Vl键的按下事件,在这里就判断不到Ctrl键按下的判断了,所以如果我们把组合键放在KEY_DOWN中是判断不到的.

AS3代码
  1. stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);   
  2. function keyUpHandler(event:KeyboardEvent):void {   
  3.     if(event.keyCode==86&&event.ctrlKey){   
  4.         trace("您按下了Ctrl+V")   
  5.         }   
  6. }  

你可能感兴趣的:(活动,UP)