Actionscript 3 FlashDevelop中的编译错误
我用ActionScript 3编写了以下代码:Actionscript 3 FlashDevelop中的编译错误,actionscript-3,actionscript-2,flashdevelop,Actionscript 3,Actionscript 2,Flashdevelop,我用ActionScript 3编写了以下代码: private function _initializeUI() { function onClick(e : Event) { var checkBox : CheckBox = CheckBox(e.target); Chat.sendToClient("checkBox pressed : " + checkBox.name); switch(check
private function _initializeUI() {
function onClick(e : Event) {
var checkBox : CheckBox = CheckBox(e.target);
Chat.sendToClient("checkBox pressed : " + checkBox.name);
switch(checkBox.name) {
case "autoHealCheckBox":
checkBox.checked = !checkBox.checked;
_settings.walle.autoHeal = checkBox.checked;
break;
case "autoOffCheckBox":
checkBox.checked = !checkBox.checked;
_settings.walle.autoOff = checkBox.checked;
break;
case "autoBattleCheckBox":
checkBox.checked = !checkBox.checked;
_settings.walle.autoBattle = checkBox.checked;
break;
case "debugCheckBox":
checkBox.checked = !checkBox.checked;
_settings.walle.debug = checkBox.checked;
break;
case "onOffCheckBox":
checkBox.checked = !checkBox.checked;
if (checkBox.checked) {
this.start();
} else {
this.stop();
}
break;
default:
if (checkBox.name.substr(0, 6) == "PickUp") {
checkBox.checked = !checkBox.checked;
var k : String = checkBox.name.substr(6).split('_').join(' ');
_settings.walle.pickup[k] = checkBox.checked;
}
break;
};
}
当我说
src/walle/Walle.as:113: characters 11-18 : parse error Unexpected onClick
我该怎么办?Actionscript 3不允许嵌套函数。如果您使用的是AS2,请确保项目设置了正确的配置什么是
\u initializeUI()
?构造器?为什么要把函数放在函数中?@Cherniv-看着这个错误,构造函数应该是Walle
,我真的不明白为什么这会给你一个错误。无论如何,onClick方法从未真正运行过——因为它从未被调用过。您应该做的是将其分解为自己定义的函数:private function onClick(e:Event):void{
,然后在构造函数中或需要的任何位置添加一个单击侦听器:this.addEventListener(MouseEvent.click,onClick);
这是AS3还是AS2?如果是AS2,那么可能是因为onClick
是一个保留的函数名,我认为它应该是类中的顶级函数(而不是另一个函数范围内的匿名函数)