即使我指定了AS3类,我的AS3类如何也传递0个参数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了即使我指定了AS3类,我的AS3类如何也传递0个参数?相关的知识,希望对你有一定的参考价值。

基本上是这样;我当时正在ActionScript 3中进行游戏测试项目,并决定制作一个类的弹丸。

这是该课程的代码:

package  {

    import flash.display.MovieClip;
    import flash.events.Event;

    public class Symbol1 extends MovieClip {

        public var dir:Number;

        public function Symbol1(dir:Number) {
            // constructor code
            this.dir = dir;
            this.addEventListener(Event.ENTER_FRAME, speen);
        }
        public function speen(e:Event):void
        {
            e.target.x += 10*Math.cos(e.target.dir);
            e.target.y += 10*Math.sin(e.target.dir);
        }
    }

}

以上似乎有效;但是实例化它是一个全新的问题。

var a = new Symbol1(5);

以上代码输出:

> ArgumentError: Error #1063: Argument count mismatch on Symbol1(). Expected 1, got 0.
at flash.display::Sprite
/constructChildren()
    at flash.display::Sprite()
    at flash.display::MovieClip()
    at PROJECT_fla::MainTimeline()

我应该如何让它传递“ dir”参数?

答案

对于初学者:只需将整个“ e.target”删除即可,因为您的EnterFrame事件中没有x,y和目录。

以上是关于即使我指定了AS3类,我的AS3类如何也传递0个参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 doc 类 AS3 定位舞台上的影片剪辑?

如何在 AS3 中将声音放大指定的分贝数?

为一个类的所有实例执行一个函数?AS3

如何在 flash(as3) 中检测实例来自哪个类

我无法从 AS3 类文件控制舞台中的 MovieClip

SpriteSheet 类 AS3