Actionscript 3 as3-构造函数错误

Actionscript 3 as3-构造函数错误,actionscript-3,flash,constructor,Actionscript 3,Flash,Constructor,我(对我)犯了一个奇怪的错误。据我所知,我做的每件事都是正确的,但我总是会收到错误的警告 ArgumentError:错误#1063:敌方()上的参数计数不匹配。 预期为2,得到0 正如您所看到的,当初始化我的类时,它需要两个参数并得到一个。然而,据我所知,情况并非如此 它叫什么名字 function startHandle(evt:MouseEvent):void{ enemy = new Enemy(1090, 189); gotoAndStop(2); Player.stop(

我(对我)犯了一个奇怪的错误。据我所知,我做的每件事都是正确的,但我总是会收到错误的警告

ArgumentError:错误#1063:敌方()上的参数计数不匹配。 预期为2,得到0

正如您所看到的,当初始化我的类时,它需要两个参数并得到一个。然而,据我所知,情况并非如此

它叫什么名字

function startHandle(evt:MouseEvent):void{
  enemy = new Enemy(1090, 189);
  gotoAndStop(2);
  Player.stop();
  currentLevel = 1;
}
然后是敌人阶级

public function Enemy(xLocation:int, yLocation:int){
        trace(xLocation);
        trace(yLocation);
        // constructor code
        x = xLocation;
        y = yLocation;
        trace(x);
        trace(y);
}
我从中得到的结果如下

1090

189

1090

189

ArgumentError:错误#1063:上的参数计数不匹配 敌人()。预期为2,得到0

在flash.display::MovieClip/gotoAndStop()

在 佛罗里达州项目::主要时间线/startHandle()


据我所知,它得到两个值,知道它拥有它们,设置它们。但仍然给出了一个错误。有人有主意吗?

很可能你在某个画面上预先放置了一个敌人。由于任何
DisplayObject
子体的默认构造函数都需要0个参数,因此在flashgui中创建的任何东西都会使Flash编译器使用0个参数进行构造函数调用。为了避免这种情况(并找到让你恼火的敌人),为构造函数提供如下默认值:

public function Enemy(xLocation:int=0, yLocation:int=0){

并观察敌人何时出现在(0,0),调试该点并消除任何不必要的敌人实例的创建。

执行
gotoAndStop(2)
时,第二帧上有什么代码?任何与错误相关的文件都可以。我看不出您如何使用提供的代码获得该错误。你能把项目压缩并上传吗?你肯定有其他地方的代码导致了这个问题。搜索“new敌军()”并查看是否出现任何问题。此外,您应该允许在项目中进行调试,因为错误将显示行号,这也将有助于缩小问题范围。也许在这个项目的某个地方正在制造一个离群的敌人。我真是个白痴。我已经设法在一个框架中添加了一个,并在那里手动添加了MovieClip。这就是我出错的原因。非常感谢:)