1

我有一个名为 keyCButton 的影片剪辑,我想向其中添加一个键盘事件(“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 尝试它时,我没有收到错误,但它仍然不起作用

当前项目链接

4

3 回答 3

0

下面的代码完美地工作:

stage.addEventListener(KeyboardEvent.KEY_DOWN, cNote);

function cNote(e:KeyboardEvent):void {
    if (e.keyCode==Keyboard.C) {
        keyCButton.gotoAndPlay(2);
    }
}
于 2012-06-20T07:39:41.913 回答
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);
    }
}

于 2010-04-20T08:41:23.407 回答
0

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

-太阳云

于 2010-07-08T05:21:42.520 回答