Actionscript 3 (Actionscript 3.0)如何修复此箭头控件故障?
目前,我正在尝试制作一个游戏,但我遇到了几个问题。 其中之一是我必须单击屏幕,箭头控件才能工作。有没有办法解决这个问题 其次,箭头键可以按预期工作,但WASD键不能。为什么呢Actionscript 3 (Actionscript 3.0)如何修复此箭头控件故障?,actionscript-3,Actionscript 3,目前,我正在尝试制作一个游戏,但我遇到了几个问题。 其中之一是我必须单击屏幕,箭头控件才能工作。有没有办法解决这个问题 其次,箭头键可以按预期工作,但WASD键不能。为什么呢 private function key_down(event:KeyboardEvent): void{ if(event.keyCode == Keyboard.LEFT || event.keyCode == 65){ leftPressed=true; }
private function key_down(event:KeyboardEvent): void{
if(event.keyCode == Keyboard.LEFT || event.keyCode == 65){
leftPressed=true;
}
if(event.keyCode == Keyboard.RIGHT || event.keyCode == 68){
rightPressed=true;
}
if(event.keyCode == Keyboard.UP || event.keyCode == 87){
upPressed=true;
}
if(event.keyCode == Keyboard.DOWN || event.keyCode == 83){
downPressed=true;
}
}
private function key_up(event:KeyboardEvent): void{
if(event.keyCode == Keyboard.LEFT || event.keyCode == 65){
leftPressed=false;
}
if(event.keyCode == Keyboard.RIGHT || event.keyCode == 68){
rightPressed=false;
}
if(event.keyCode == Keyboard.UP || event.keyCode == 87){
upPressed=false;
}
if(event.keyCode == Keyboard.DOWN || event.keyCode == 83){
downPressed=false;
}
}
注意:在代码的另一部分中,我定义了当leftPressed、righpressed、downppressed和upPressed为true或false时,播放器的移动方式 这是一个非常简化的代码版本,您应该直接在.fla文件中测试它:
stage.addEventListener(KeyboardEvent.KEY_DOWN, keydown);
var leftPressed:Boolean;
function keydown(event:KeyboardEvent): void
{
//if(event.keyCode == Keyboard.LEFT || event.keyCode == 65)
if(event.keyCode == 65)
{
leftPressed=true;
trace('left Pressed');
}
}
请注意,我已经注释掉了Keyboard.LEFT行,并将其替换为一行
它只测试“a”键。这应该适用于您的系统 焦点:您需要在加载时在HTML页面中聚焦Flash对象:键:您需要使用event.charCode而不是event.keyCode您的代码在WASD和event.keyCode中非常适合我。显然,keyboardEvent监听器必须以舞台为目标。你能更具体地谈谈你的问题吗?显然,只有在我的电脑上,WASD键才不起作用。当我尝试在其他计算机上玩这个游戏时,WASD键工作得非常好。真奇怪,真奇怪。提示:使用键盘。A而不是65,它使以后阅读代码更容易。