Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 我需要在Flash中向电影剪辑添加键盘事件(如3.0)_Actionscript 3_Flash_Keyboard Events - Fatal编程技术网

Actionscript 3 我需要在Flash中向电影剪辑添加键盘事件(如3.0)

Actionscript 3 我需要在Flash中向电影剪辑添加键盘事件(如3.0),actionscript-3,flash,keyboard-events,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的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,但Keyboard事件不起任何作用。它为if条件返回此错误

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

当我用空格而不是C尝试时,我不会出错,但仍然不能工作


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);
    }
}

stage.addEventListener(KeyboardEvent.KEY_DOWN,cNote);
函数CNOT(事件:键盘事件):无效{
//您可以跟踪event.keyCode以获取按下的键值;
跟踪(event.keyCode);
//在您的情况下,C键=67
if(event.keyCode==67){
按键。转到和播放(2);
}
}

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


-Solarcloud

下面的代码非常有效:

stage.addEventListener(KeyboardEvent.KEY_DOWN, cNote);

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

我现在让空格键开始工作了。我必须在导入flash.events.KeyboardEvent之前添加此代码;var spacekey:uint=32;用空格键替换键码“67”,但它无法识别我的键盘字母,因此无法跟踪并在测试时给我一个输出。现在,它可以与其他键一起使用,我只需在flash之外测试它,然后从互联网上获取键码