0

我试图让我的角色在 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

vache.as

    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并且它已经在舞台上。

感谢你们对我的帮助 :)

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

4

1 回答 1

2

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

于 2013-01-21T22:08:52.937 回答