通过键盘按下AS3触发按钮事件(或至少显示)

时间:2015-03-30 02:59:07

标签: actionscript-3

尝试在AS3中制作钢琴,到目前为止,我有2种触发音符的方法,1种通过键盘,1种通过鼠标点击。单击该键时,它会更改颜色以指示已按下该键。不幸的是,我找不到键盘事件触发按钮的方法,是否可能,我该怎么做?

它不需要是一个真正的按钮按下,它可能只是看起来像。

修改的 该按钮是一个按钮对象,使用GotoAndStop会导致以下错误代码:

" project.as,第13行,第7列1061:通过静态类型flash.display的引用调用可能未定义的方法gotoAndStop:SimpleButton。"

提前致谢。

1 个答案:

答案 0 :(得分:0)

最简单的方法是将钢琴键按下逻辑提取到自己的函数中,然后从两个事件中调用该函数。

function pressedMyPianoKey(){
   // Do something like pianoKey.gotoAndStop(2) to show a new graphic
}

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
function keyDown(event:KeyboardEvent):void 
{ 
    pressedMyPianoKey();
} 

pianoKey.addEventListener(MouseEvent.CLICK, click);
function click(e:MouseEvent){
    pressedMyPianoKey();
}