gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 22:19:23 24 4
gpt4 key购买 nike

我正在开发一个小游戏。我使用以下代码来检测播放器按下的键:

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;
}

}

基本上,射击 key 几乎会一直被玩家按住。并且changeColorKey将非常频繁地按下,但不会按住。在测试过程中,我注意到按住shootKey和向右箭头,不会触发changeColorKey的onKeyUp事件。按住向上或向下箭头键而不是向右箭头具有相同的效果。如果我按住向左箭头键,则会触发事件。为什么会发生?我的代码有问题吗?

最佳答案

您看到的问题与您的代码无关,而与您的键盘有关。根据键盘技术的不同,您可以同时按下的键的数量和组合会有所不同。几年前,我编写了与您的代码非常相似的代码,而我记得您遇到了相同的问题,而当前的键盘不再出现这种情况(看来这最多可以同时支持五个字母,而旧的则可以支持三个字母) 。

关于flash - Flash可以检测多少个按键?使用as3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1824555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com