我是动作脚本3的新手我试图制作一部电影,我可以用左右箭头键控制屏幕上的一个框,但我不断收到一条消息"可能的访问undefined属性LEFT通过带有静态类的引用"。某些陈述不会变成蓝色,例如if和function? 这是代码:
stage.addEventListener(KeyboardEvent.KEY_DOWN,myFunction);
function myFunction (event:KeyboardEvent){
if (event.keyCode == KeyboardEvent.LEFT){
blueBox.x -=5
}
if (event.keyCode == KeyboardEvent.RIGHT){
blueBox.x +=5
}
}
答案 0 :(得分:1)
KeyboardEvent没有像LEFT或RIGHT这样的属性,你要找的是Keyboard.LEFT / RIGHT。像:
if (event.keyCode == Keyboard.LEFT){
blueBox.x -=5
}
if (event.keyCode == Keyboard.RIGHT){
blueBox.x +=5
}
键盘文档:Adobe Documentation
答案 1 :(得分:0)
在代码开头,您需要导入KeyboardEvent和Keyboard Classes,即:
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
您还应将KeyboardEvent.LEFT和KeyboardEvent.RIGHT更改为:
if (event.keyCode==Keyboard.LEFT)
和
if (event.keyCode==Keyboard.RIGHT)
原因是什么? ActionScript正在尝试访问Keyboard.LEFT和Keyboard.RIGHT静态变量中包含的数字,并且需要访问Keyboard类才能执行此操作。
答案 2 :(得分:0)
我不认为有KeyBoardEvent.LEFT / RIGHT这样的东西。尝试将左侧更改为37,右侧更改为39.它们是这些键的数值。