我需要将一个KeyboardEvent添加到Flash中的影片剪辑(AS 3.0)

时间:2010-04-19 19:19:06

标签: actionscript-3 flash keyboard-events

我有一个名为keyCButton的movieclip,我想添加一个keyboardEvent(“C”键)。这将播放具有声音的帧2-30的动画。 我已经看过一些教程但仍未获得正确的信息以使其正常工作。以下是我的代码。

stage.addEventListener(KeyboardEvent.KEY_DOWN, cNote);
function cNote(event:KeyboardEvent):void
{
  if (event.keyCode == Keyboard.C)
  {
    keyCButton.gotoAndPlay(2)
  }
}

在第30帧,代码告诉它停止然后返回第1帧

这适用于MouseEvent.CLICK,但KeyboardEvent不执行任何操作。它为if条件

返回此错误
  

1119:通过带有静态类型Class的引用访问可能未定义的属性C.

当我尝试使用SPACE而不是C时,我不会出现错误,但仍然无法正常工作

Current Project Link

3 个答案:

答案 0 :(得分:0)

Keyboard.C不起作用(不知道为什么)所以你必须知道C键的密钥代码:


stage.addEventListener(KeyboardEvent.KEY_DOWN, cNote);
function cNote(event:KeyboardEvent):void {
    //you can trace event.keyCode to get the pressed key value;
    trace(event.keyCode);
    //in your case the C key = 67
    if (event.keyCode==67) {
        keyCButton.gotoAndPlay(2);
    }
}

答案 1 :(得分:0)

这可能有助于闪光识别您的键盘。使用shift + enter发布预览时,请转到Flash播放器中控制选项卡下的选项,然后禁用键盘快捷键。这可以确保Flash CS4(或您使用的任何内容)将快捷方式发送给播放器,而不是尝试热键工具。希望它有所帮助。

-Solarcloud

答案 2 :(得分:0)

下面的代码完美无缺:

stage.addEventListener(KeyboardEvent.KEY_DOWN, cNote);

function cNote(e:KeyboardEvent):void {
    if (e.keyCode==Keyboard.C) {
        keyCButton.gotoAndPlay(2);
    }
}