我(给我)一个奇怪的错误。据我所知,我正在做的一切都是正确的,但我不断收到错误。
ArgumentError:错误#1063:Enemy()上的参数计数不匹配。 预计2,得到0。
正如您所看到的,在初始化我的类Enemy时,它需要两个参数并获得一个。但是,据我所知,事实并非如此。
在哪里召唤。
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()
在 Project_fla :: MainTimeline / startHandle()
据我所知,它获取了两个值,知道它有它们,设置它们。但仍然会出错。有人有想法吗?
答案 0 :(得分:2)
你最有可能在一些框架上预先安置了敌人。由于任何DisplayObject
后代的默认构造函数都需要0个参数,因此在Flash GUI中创建的任何内容都会使Flash编译器使用0参数进行构造函数调用。为了避免这种情况(发现引起你的那个讨厌的敌人)给出构造函数的默认值,如下所示:
public function Enemy(xLocation:int=0, yLocation:int=0){
观察敌人何时出现在(0,0),调试该点并消除任何不需要的敌人实例的创建。