Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash AS3不接受构造函数_Flash_Actionscript 3_Actionscript - Fatal编程技术网

Flash AS3不接受构造函数

Flash AS3不接受构造函数,flash,actionscript-3,actionscript,Flash,Actionscript 3,Actionscript,好的,我已经提出了一千次这个问题,到目前为止还没有人能帮助我。我再次提高,因为我发现了一些新的东西。在过去,我无法为类对象创建参数,每次这样做时都会出现以下错误 1136: Incorrect number of arguments. Expected 0. 我注意到,作为电影剪辑或Sprite的子类的类可以有构造函数参数,但作为子类的子类的类却不能。这背后有什么原因吗 var cloud = new Cloud(5, 4); package com.objects{ import

好的,我已经提出了一千次这个问题,到目前为止还没有人能帮助我。我再次提高,因为我发现了一些新的东西。在过去,我无法为类对象创建参数,每次这样做时都会出现以下错误

1136: Incorrect number of arguments.  Expected 0.
我注意到,作为电影剪辑或Sprite的子类的类可以有构造函数参数,但作为子类的子类的类却不能。这背后有什么原因吗

var cloud = new Cloud(5, 4);

package com.objects{
    import flash.events.Event;
    import flash.utils.*;

    public class Cloud extends gameObject {

        public var maxSpeed = 30;
        public var minSpeed = 5;
        public var cspeed:Number = 0;

        public function Cloud(min:Number = 0, max:Number = 0):void
        {
            var rand = Math.ceil(Math.random() * totalFrames);
            gotoAndStop(rand);
        }

        public function rand(min:Number, max:Number):void
        {
            maxSpeed = max;
            minSpeed = min;
            cspeed = (Math.ceil(Math.random() * maxSpeed)+ minSpeed);
        }

        override public function updateObject():void
        {
            eApi.setChildIndex(this, (eApi.numChildren - 1));
            y += cspeed;

            if(y > 800)
                garbage = true;
        }


    }
}
这是父类

package com.objects {

    import flash.display.MovieClip;
    import flash.display.Stage;
    import flash.events.*;
    import flash.utils.getTimer;

    public class gameObject extends MovieClip implements IgameObject
    {
        public static var EG:Engine;
        public var wPosX:Number = 0;
        public var wPosY:Number = 0;

        public var vPosX:Number = 0;
        public var vPosY:Number = 0;

        public var px:Number = 0;
        public var py:Number = 0;

        public var right:Number = 0;
        public var bottom:Number = 0;
        public var left:Number = 0;
        public var top:Number = 0;
        public var centerx:Number = 0;
        public var centery:Number = 0;
        static public var eApi:EngineApi;
        public var health:Number = 1;
        public var maxHealth:Number = 1;
        protected var lastTime:Number;
        public var ts:TargetSystem;

        public var col:Number;
        public var row:Number;
        public var map:Number;
        public var dead:Boolean = false;

        public var garbage:Boolean = false;

        public function gameObject():void {

        }//End Constructor

        static public function addEngine(e:EngineApi):void
        {
            eApi = e;
        }

        public function updateObject():void
        {

        }
        public function Attack(dir:Number = -40):void
        {

        }

        public function GarbageCollect():gameObject
        {
            return this;
        }

        public function getTime():int
        {
            var time:int = getTimer();
            return time;
        }
    }
}

在没有看到任何代码的情况下,我只能提供一些模糊的建议,电脑是否已插入?——风格建议:

-检查以确保没有与子类同名的现有类。试着在你的课程末尾添加一些废话,比如MyClassFl4134qq,以检查是否有冲突-如果更改成功,那就是你的问题

-检查以确保子类化的类没有标记为“final”

-检查以确保对“super…”构造函数的任何调用都具有正确数量的超类参数,而不是子类参数

-检查变量声明。确保分配给该变量的对象的类型与声明的类型匹配


如果我不得不打赌的话,我会说你可能有类名冲突参见第一条建议。

在没有看到任何代码的情况下,我只能提供一些模糊的建议,计算机是否已插入?—风格的建议:

-检查以确保没有与子类同名的现有类。试着在你的课程末尾添加一些废话,比如MyClassFl4134qq,以检查是否有冲突-如果更改成功,那就是你的问题

-检查以确保子类化的类没有标记为“final”

-检查以确保对“super…”构造函数的任何调用都具有正确数量的超类参数,而不是子类参数

-检查变量声明。确保分配给该变量的对象的类型与声明的类型匹配

如果我不得不打赌,我会说你可能有一个类名冲突见第一条建议。

如果你是通过Flash IDE将一个符号附加到自定义类MovieClip,Sprite,。。谁在获取参数flash不知道如何实例化这样一个类,它怎么能猜出您期望的参数

它只能实例化没有参数的类,您必须依靠另一种方式稍后初始化类或提供默认参数。

如果您通过Flash IDE将符号附加到自定义类MovieClip、Sprite,。。谁在获取参数flash不知道如何实例化这样一个类,它怎么能猜出您期望的参数



它只能实例化没有参数的类,您必须依靠另一种方式稍后初始化类或提供默认参数。

您必须在子类中实现构造函数。否则,flash将替换不带任何参数的空构造函数。

必须在子类中实现构造函数。否则,flash将替换不带任何参数的空构造函数。

您的错误似乎是由于在不带参数时提供了构造函数参数。请提供类的继承树及其构造函数。安东尼·福隆尼的假设是正确的。另外,展示您尝试实例化实例的方式。感谢您的回复。安东尼错了。在我提供的代码中,我的构造函数中显然有参数。您的错误似乎是由于在不接受参数时提供了构造函数参数。请提供类的继承树及其构造函数。安东尼·福隆尼的假设是正确的。另外,展示您尝试实例化实例的方式。感谢您的回复。安东尼错了。在我提供的代码中,我的构造函数中显然有参数。嗯,回答得好。。。也许我认为他实现了他试图调用的构造函数是错误的+嗯,回答得好。。。也许我认为他实现了他试图调用的构造函数是错误的+1抱歉,只是我之前发布了代码,没有人知道它是什么。我试图找到它为什么不能在这个帖子上工作的原因。但是上面我添加了代码。对不起,只是我之前发布了代码,没有人知道它是什么。我试图找到它为什么不能在这个帖子上工作的原因。但是上面我添加了代码。那么你是说所有附加了符号的自定义类都不能使用构造函数参数吗?我认为你可能是对的,因为它只适用于没有附加符号的类!!我不明白为什么这么好。但这两部分正在走到一起。你能详细说明一下吗。如果可以的话。谢谢我说,如果你有一个符号附加到自定义类
对于参数,它不能从IDE实例化,因为IDE无法猜测您期望的参数值。您是说所有附加了符号的自定义类都不能使用构造函数参数吗?我认为您可能是对的,因为它只适用于没有附加符号的类!!我不明白为什么这么好。但这两部分正在走到一起。你能详细说明一下吗。如果可以的话。谢谢我说,如果您有一个符号附加到需要参数的自定义类,它就不能从IDE实例化,因为IDE无法猜测您所期望的参数的值