AS3毛刺(定时器对象)

时间:2015-07-28 09:37:04

标签: actionscript-3

所以我试图为我的YT制作一个AvoiderGame教程,我发现了一个关于该程序的故障。 (它告诉我Timer对象接受0参数)

然后我认为我可能错过了某个导致错误的括号或某些东西,但就目前而言,它似乎是一个Flash Professional Glitch

信息:

文件:Enemy.as(链接到main.fla文件中的“Enemy”movieclip符号)

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

    public class Enemy extends MovieClip{
        private var speeds:Array = new Array();
        private var counter:Timer = new Timer(1); <-- Line 8
        private var speed:int = 0;

        public function Enemy(xPos:int, yPos:int, speeds:Array){
            x = xPos;
            y = yPos;
            this.speeds = speeds;
            initalize();

            counter.start();
            counter.addEventListener(TimerEvent.TIMER, update);
        }

        protected function initalize(){
            speed = speeds[0] + Math.round(Math.random()*(speeds[1] - speeds[0]));
        }

        protected function update(e:TimerEvent){
            y += speed;
        }

        public function setPos(xVal:int, yVal:int){
            x = xVal;
            y = yVal;
        }

        public function movePos(xVal:int, yVal:int){
            x += xVal;
            y += yVal;
        }
    }
}

(我用“用户”替换了我的用户名,因此人们不会知道我的真实姓名)

此代码给了我以下错误:

  

C:\ Users \ User \ Desktop \ Flash Stuff \ Avoider DeluX \ Enemy.as,第8行,   第35列1136:参数数量不正确。预期为0。

     

C:\ Users \ User \ Desktop \ Flash Stuff \ Avoider DeluX \ Enemy.as,第8行,   第35列1136:参数数量不正确。预期为0。

(是的,错误确实出现了2次)

2 个答案:

答案 0 :(得分:1)

这让我觉得您可能在命名空间中发生了另一个Timer类冲突。每次尝试精确全名:

private var counter:flash.utils.Timer = new flash.utils.Timer(1);

答案 1 :(得分:0)

我认为这是参数的问题。我注意到的一件事是计时器接受2个参数。第一个是延迟,以毫秒为单位。第二个是repeatCount,它是可选的

正如文档所说

  

不推荐低于20毫秒的延迟。

所以我建议使用超过20毫秒或1000秒的数字。