加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

AS中的键盘事件

发布时间:2020-12-15 17:49:07 所属栏目:百科 来源:网络整理
导读:AS中的键盘事件和鼠标事件相似,都是定义好的字符串,也可以是KeyboardEvent的属性,只有两种: KEY_DOWN KEY_UP 我们可以在一个特殊的对象上监听键盘事件,就像监听鼠标事件一样。为何实现这个功能我们可以设置对象焦点,以便能够捕获这些事件,可以这样写

AS中的键盘事件和鼠标事件相似,都是定义好的字符串,也可以是KeyboardEvent的属性,只有两种:

KEY_DOWN

KEY_UP

我们可以在一个特殊的对象上监听键盘事件,就像监听鼠标事件一样。为何实现这个功能我们可以设置对象焦点,以便能够捕获这些事件,可以这样写:stage.focus=r;

在很多情况下,监听键盘事件是否有焦点很有意义的。实现它只需直接对舞台进行键盘侦听

例如下面的代码:

package{ ?

? ? import flash.display.Sprite ;

public class clsRect extends Sprite

{ ? ?

? ?public function clsRect()

{ ? ?

? graphics.lineStyle(1,0); ? ? ?

? graphics.beginFill(0x999999); ? ?

? graphics.drawRect(0,200,100);

? graphics.endFill();

? }

? ?}

}


package{ ?


? ? ?import flash.display.Sprite ; ?

? ? ?import clsRect; ?

?import flash.events.MouseEvent ;

?import flash.events.KeyboardEvent;

?public class ex6 extends Sprite

?{

? private var r:clsRect; ? ? ?

? public function ex6()

? {

? ?r=new clsRect(); ? ?

r.x=50;

r.y=50;

stage.addChild(r);

stage.addEventListener(MouseEvent.CLICK,f); ? ?

r.addEventListener(KeyboardEvent.KEY_DOWN,f_down);

? }

? ?private function f(e:MouseEvent )

{ ? ? ? ?

? ?stage.focus=r; ? ?

}

private function f_down(e:KeyboardEvent )

{

if(e.shiftKey)

{

?switch(e.keyCode)

?{

? ?case 37:r.x-=10;break; ? ? ? ? ?

case 38:r.y-=10;break; ? ? ? ?

case 39:r.x+=10;break; ? ? ? ? ?

case 40:r.y+=10;break;

?}

}else{

switch(e.keyCode){

case 37:r.x--;break; ? ? ? ?

case 38:r.y--;break;

case 39:r.x++;break; ?

case 40:r.y++;break;

}

}

}

?}

}

通常人们关心的是按下的时什么键而不是你按下了键,使用键盘事件处理有几种方法可以读取输入的信息,前面说过,一个事件可以有一个事件对象来触发,该对象包括触发该事件的数据,在键盘上事件中有两个相关的属性,事件所涉及的:字符码(charCode)和键码(keyCode).

字符码表示是按下键所表示的真正字符,例如,用户按下“a”键,字符码就是“a”,如果用户同时按住shift键时,这样字符码就是“A”。

键码指按键所代表的数值,如果用户按下“a”键,它所对应的键码是65,无论是否按着其他键。

charCode:按下或释放的键的字符代码值.
keyCode:按下或释放的键的代码值.
{
数字0-9: 48-57
a-z: ?65-90
BackSpace:8 ?Tab:9 ?Clear:12 ?Enter13 ?Shif16 ?Ctrl17 ?Alt18 ?CapsLock20 ?Esc27 ?Space32 ?PageUp33 ?PageDown34
End35 ?Home36 ?左37 ?上38 ? 右39 ?下40 ?Insert45 ?Delete46 ?Help47 ?Numlock144 ? :186 ?;187 ?-=189 ? ~192 ?[219 ?
220 ?]221 ? '"222
小键盘:0-9:96-105
*106 ?+107 ?Enter108 ?-109 ?.110 ?/111
F1-F15:112-126
}
keyLoction:指示键在键盘上的位置.
ctrlKey:指示Ctrl键是处于活动状态(true)还是非活动状态(false).
shiftKey:指示Sift键是处于活动状态(true)还是非活动状态(false).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读