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 の移動メソッドは、main.asから呼び出される場合ではpublicなく、必要があります。privatevache.as が実際に vache_mc のクラスとして設定されていることも確認する必要があると思います。

于 2013-01-21T22:08:52.937 に答える