ActionScript中键盘事件的处理

软件需求:一个比较复杂的届面上有一个控件(upDownComponent),这个箭头可以通过上下键达到上下移动的效果。

 

好久没有做UI的东西了,最近开始使用ActionScript 3.0,感觉一切都是陌生的。而且鉴于Google的强大,导致过分依赖互联网。找了一下,几乎没有找到什么有用的东西,大部分搜索的结果都是一样的,就是根据ActionScript的例子,作了一个简单的键盘控制一个形状的移动。而这个代码放到我的工程里面完全不同了。

 

因为界面上有按钮,输入框这些可以接受焦点的控件,因此按上下键的效果使得这些控件成为了下一个焦点控件。不得已,翻开厚厚德Essential ActionScript 3.0,读了30多分钟,终于搞定。

 

首先让要被上下键控制的控件成为键盘事件的焦点控件,并取掉该控件被选择时flash加上学的选择框。

 

stage.focus = upDownComponent;

upDowComponent.focusRect = false;

 

接着,在stage中屏蔽掉上下键选择其他控件的事件代码如下:

 

stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, onKeyFocusChange);

 

private function onKeyFocusChange(evt:FocusEvent):void
{
    if (evt.keyCode == Keyboard.UP || evt.keyCode == Keyboard.DOWN)
    {
        evt.preventDefault();
    }
}

 

最后加上KeyboardEvent事件监听就好了。

 

addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);

 

private function onKeyDown(evt:KeyboardEvent):void

{

    //Do what you want to do

}

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值