Actionscript 3 我需要在Flash中向电影剪辑添加键盘事件(如3.0)
我有一个叫做keyCButton的movieclip,我想在其中添加一个keyboardEvent(“C”键)。这将播放第2-30帧中带有声音的动画。 我看了一些教程,但仍然没有得到正确的信息,使它的工作。下面是我的代码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) {
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之外测试它,然后从互联网上获取键码