Actionscript 3 as3-构造函数错误
我(对我)犯了一个奇怪的错误。据我所知,我做的每件事都是正确的,但我总是会收到错误的警告 ArgumentError:错误#1063:敌方()上的参数计数不匹配。 预期为2,得到0 正如您所看到的,当初始化我的类时,它需要两个参数并得到一个。然而,据我所知,情况并非如此 它叫什么名字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(
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。这就是我出错的原因。非常感谢:)