首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS3类公共服务

AS3类公共服务
EN

Stack Overflow用户
提问于 2017-04-21 22:22:15
回答 1查看 29关注 0票数 1

每当我尝试运行游戏时,我都会出错。对于每个类,我都会收到错误,说明公共属性只能在包中使用,在这一行中,使用“私有函数moveMe”,“私有属性只能用于类函数”。我验证了我是否有正确链接的as文件。我不知道这是什么问题。

代码语言:javascript
复制
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;
            }

                }

        }

    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-21 22:33:28

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

代码语言:javascript
复制
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;
        }

    }

}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43552863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档