为函数编写var时出现问题

时间:2011-07-12 12:48:15

标签: flash actionscript-3 function programming-languages

我尝试使用这样的功能,但它无法正常工作。你能看看这个^^

吗?
var test:testMc;

addMonster(test,testMc);

public function addMonster($mon:MovieClip,$monMc:MovieClip)
{$mon= new $monMc(stage, enemy);
}

第3行 - 1067:将类型Class的值隐式强制转换为无关类型flash.display:MovieClip。

第6行 - 1180:调用可能未定义的方法$ monMc。

我该如何解决?

感谢您的帮助^^

1 个答案:

答案 0 :(得分:2)

将来你应该发布更多代码并告诉我们这些错误在哪些行上,因为在这种情况下我们无法看到你声明testMc的位置或行号。幸运的是,在这种情况下它并不重要,因为我可以一目了然地看到问题。

addMonster()中的第二个参数是类型MovieClip,而实际上该对象是一个Class。这是两个错误消息的原因。你的代码应该是这样的:

public function addMonster($mon:MovieClip,$monMc:Class)

顺便说一句,我很好奇你为什么要写这样的代码。我想这可能是来自某种工厂类的一个小片段,但是一眼就看出这是一种非常愚蠢的实例化对象的方式。