Actionscript 3 错误#1006:下降不是main/loop()处的函数

Actionscript 3 错误#1006:下降不是main/loop()处的函数,actionscript-3,Actionscript 3,我试图让我的角色在AS3中用键盘箭头移动。我得到了一个错误: Error #1006: descendre is not a function at main/loop() 这是我的密码: 在main.as中: private function down(e:KeyboardEvent):void { if (e.keyCode==_LEFT) { gauche=true; } if (e.keyCode==_UP

我试图让我的角色在AS3中用键盘箭头移动。我得到了一个错误:

Error #1006: descendre is not a function at main/loop()
这是我的密码:

main.as
中:

    private function down(e:KeyboardEvent):void {
        if (e.keyCode==_LEFT) {
            gauche=true;
        }
        if (e.keyCode==_UP) {
            haut=true;
        }
        if (e.keyCode==_DOWN) {
            bas=true;
            trace("down")
        }
        if (e.keyCode==_RIGHT) {
            droit=true;
        }
    }//down
    private function up(e:KeyboardEvent):void {
        if (e.keyCode==_LEFT) {
            gauche=false;
        }
        if (e.keyCode==_UP) {
            haut=false;
        }
        if (e.keyCode==_DOWN) {
            bas=false;
        }
        if (e.keyCode==_RIGHT) {
            droit=false;
        }
    }//up
    private function loop(e:Event):void{;
        if (haut) {
            vache_mc.monter();
        }
        if (bas) {
            vache_mc.descendre();
        }
        if (droit) {
            vache_mc.coted();
        }
        if (gauche) {
            vache_mc.coteg();
        }
    }//loop
    private function monter():void {
        trace("monter");
    }//monter
    private function descendre():void {
        trace("descendre");
    }//descendre
    private function coted():void {
        trace("coted");
    }//coted
    private function coteg():void {
        trace("coteg");
    }//coteg
vache.as
中:

    private function down(e:KeyboardEvent):void {
        if (e.keyCode==_LEFT) {
            gauche=true;
        }
        if (e.keyCode==_UP) {
            haut=true;
        }
        if (e.keyCode==_DOWN) {
            bas=true;
            trace("down")
        }
        if (e.keyCode==_RIGHT) {
            droit=true;
        }
    }//down
    private function up(e:KeyboardEvent):void {
        if (e.keyCode==_LEFT) {
            gauche=false;
        }
        if (e.keyCode==_UP) {
            haut=false;
        }
        if (e.keyCode==_DOWN) {
            bas=false;
        }
        if (e.keyCode==_RIGHT) {
            droit=false;
        }
    }//up
    private function loop(e:Event):void{;
        if (haut) {
            vache_mc.monter();
        }
        if (bas) {
            vache_mc.descendre();
        }
        if (droit) {
            vache_mc.coted();
        }
        if (gauche) {
            vache_mc.coteg();
        }
    }//loop
    private function monter():void {
        trace("monter");
    }//monter
    private function descendre():void {
        trace("descendre");
    }//descendre
    private function coted():void {
        trace("coted");
    }//coted
    private function coteg():void {
        trace("coteg");
    }//coteg
我的角色实例名是
vache_mc
,它已经在舞台上了

谢谢你帮我:)


(我是法国人,这就是为什么变量名很奇怪,而我的英语很差的原因)

如果从main.as调用,你在vache.as中的移动方法需要是
public
而不是
private
。我认为您还需要确保vache.as实际上被设置为vache_mc的类。

>。<谢谢!!你是对的。。。我忘了把vache\u mc链接到vache.as(我真丢脸!!)