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

Flash可以检测多少个按键?使用as3

发布时间:2020-12-15 07:26:09 所属栏目:百科 来源:网络整理
导读:我正在开发一款小游戏.我使用以下代码来检测播放器按下的键: private function onKeyDown(event:KeyboardEvent):void { //moviment keys if (event.keyCode == 37 || event.keyCode == 65) { this.leftKeyPressed = true; } if (event.keyCode == 39 || eve
我正在开发一款小游戏.我使用以下代码来检测播放器按下的键:

private function onKeyDown(event:KeyboardEvent):void {
        //moviment keys
        if (event.keyCode == 37 || event.keyCode == 65) {
            this.leftKeyPressed = true;
        }
        if (event.keyCode == 39 || event.keyCode == 68) {
            this.rightKeyPressed = true;
        }
        if (event.keyCode == 38 || event.keyCode == 87) {
            this.upKeyPressed = true;
        }
        if (event.keyCode == 40 || event.keyCode == 83) {
            this.downKeyPressed = true;
        }

        if (event.keyCode == this.shootKey) {
            this.shootKeyPressed = true;
        }
    }

onKeyUp事件:

private function onKeyUp(event:KeyboardEvent):void {
        if (event.keyCode == 37 || event.keyCode == 65) {
            this.leftKeyPressed = false;
        }
        if (event.keyCode == 39 || event.keyCode == 68) {
            this.rightKeyPressed = false;
        }
        if (event.keyCode == 38 || event.keyCode == 87) {
            this.upKeyPressed = false;
        }
        if (event.keyCode == 40 || event.keyCode == 83) {
            this.downKeyPressed = false;
        }
        if (event.keyCode == this.shootKey) {
            this.shootKeyPressed = false;
        }
        if (event.keyCode == changeColorKey) {
            trace('color key released');
            trace(getTimer());
            this.changeColorKeyPressed = true;
        }

    }

基本上,几乎所有时间都会由玩家按住shootKey.并且会经常按下changeColorKey但不会按下.在测试时我注意到持有shootKey和右箭头,changeColorKey的onKeyUp事件不会被触发.按住向上或向下箭头键而不是向右箭头具有相同的效果.如果我按住左箭头键,事件就会被触发.它为什么会出现?我的代码有问题吗?

解决方法

您看到的问题与您的代码无关,而与您的键盘无关.根据键盘技术,您可以同时按下的按键的数量和组合会有所不同.几年前我做了一个与你的代码非常相似的代码,我记得你提到了同样的问题,而我现在的键盘不再发生(似乎这可以支持多达五个同时发送的信件,而旧的支持三个) .

(编辑:李大同)

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

    推荐文章
      热点阅读