Actionscript 3 FlashDevelop中的编译错误

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

我用ActionScript 3编写了以下代码:

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
是一个保留的函数名,我认为它应该是类中的顶级函数(而不是另一个函数范围内的匿名函数)