Actionscript 3 AS3级公共中庭

Actionscript 3 AS3级公共中庭,actionscript-3,Actionscript 3,每当我尝试运行游戏时都会出错。对于每个类,我都会得到错误,表示public属性只能在包内使用,在这一行中,与“private function moveMe”一起使用“private属性只能在类函数上使用”。我验证了as文件是否链接正确。我不确定是什么问题 package { import flash.display.MovieClip; import flash.utils.Timer; import flash.events.TimerEve

每当我尝试运行游戏时都会出错。对于每个类,我都会得到错误,表示public属性只能在包内使用,在这一行中,与“private function moveMe”一起使用“private属性只能在类函数上使用”。我验证了as文件是否链接正确。我不确定是什么问题

package  {
        import flash.display.MovieClip;
        import flash.utils.Timer;
        import flash.events.TimerEvent;
        import flash.events.MouseEvent;
        import flash.events.Event;
        import flash.events.Event;

        public class banana_fall extends MovieClip {

            public function banana_fall (){
            var velX:Number=0;
            var velY:Number=0;
            var falling:Boolean=false;
            var gravity:Number=2;


                public function banana() {
                var timing:Timer = new Timer(20,0);
                timing.addEventListener(TimerEvent.TIMER,moveMe);
                timing.start();

                }

                private function moveMe(event:TimerEvent){
                this.x=this.x+velX;
                this.y=this.y+velY;

                if (falling) {
                    velY=velY+gravity;
                }
            }

                public function setSpot(atX,atY){
                this.x=atX;
                this.y=atY;
            }

            //
            public function setSpeed(dx,dy){
                velX=dx;
                velY=dy;
            }

                }

        }

    }

问题是您的公共函数在构造函数中,而构造函数在as3中不起作用。 请尝试以下代码:

package {
    import flash.display.MovieClip;
    import flash.utils.Timer;
    import flash.events.TimerEvent;
    import flash.events.MouseEvent;
    import flash.events.Event;
    import flash.events.Event;

    public class banana_fall extends MovieClip {

        var velX: Number = 0;
        var velY: Number = 0;
        var falling: Boolean = false;
        var gravity: Number = 2;

        public function banana_fall() {
            var timing: Timer = new Timer(20, 0);
            timing.addEventListener(TimerEvent.TIMER, moveMe);
            timing.start();

        }

        private function moveMe(event: TimerEvent) {
            this.x = this.x + velX;
            this.y = this.y + velY;

            if (falling) {
                velY = velY + gravity;
            }
        }

        public function setSpot(atX, atY) {
            this.x = atX;
            this.y = atY;
        }

        //
        public function setSpeed(dx, dy) {
            velX = dx;
            velY = dy;
        }

    }

}