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无法猜测您所期望的参数的值