您好我正在使用Flash中的游戏,在这个应用程序的移动版本中我试图使它在按钮上的mousedown事件中它将等于左,右键码等正在激活?
AS3中是否有办法通过鼠标点击等其他方式激活键盘键?
leftButton.addEventListener(MouseEvent.MOUSE_DOWN, leftKeyPress)
function leftKeyPress(e:MouseEvent){
// Left Key is pressed
Keyboard.LEFT;
trace("trace statement");
}
此代码似乎正常工作
编辑:这也很重要这个类和使用键盘的类(播放器)分为两个单独的类,所以我试着这样做,以便在点击它时它被识别为键盘上的按键
答案 0 :(得分:0)
抱歉,但这都错了。你无法触发这样的键盘事件。这是捕获事件的方式。而且你的功能也是一个MouseEvent。应该是键盘事件。我在一年后开了Flash。无论如何。 AFAI明白你试图禁用键盘,直到鼠标点击某处。
leftButton.addEventListener(MouseEvent.MOUSE_DOWN, leftKeyPress);
var keyEnabled:Boolean = false;
function leftKeyPress(e:MouseEvent){
keyEnabled = true;
}
key.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
function keyPressed(e:KeyboardEvent):void{
if(keyPressed){
//do whatever here
}
}
答案 1 :(得分:0)
您可以手动调度键盘事件;然而,这不是最好的设计模式:
dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_DOWN,
true,
false,
Keyboard.LEFT,
Keyboard.LEFT));
建立两个处理程序会更好:
addEventListener(KeyboardEvent.KEY_DOWN, moveKeyHandler);
addEventListener(MouseEvent.CLICK, moveMouseHandler);
从每个处理程序中,调用一个从处理程序中提取运动函数的函数:
protected function moveKeyHandler(event:KeyboardEvent):void
{
/* switch statement for key */
moveLeft();
}
protected function moveMouseHandler(event:MouseEvent):void
{
/* switch statement for button target */
moveLeft();
}
protected function moveLeft():void
{
}