你好,我有这段代码,它必须做的是当有一些类(总是扩展 Box 类)时,如果已经有一个相同类型的它加载那个并且没有一个则必须生成它创建了一个新的。
private var _l:Vector.<Box> = new Vector.<Box>();
public function respawn(shapeId:int, className:String = "Box"):Class {
var l:int = _l.length, i:int;
var c:Class;
var ct:Class = getDefinitionByName(className) as Class;
for (i = 0; i < l; i++) {
c = _l[i];
if (!c.active && c.shapeId == shapeId) {
return c;
}
}
c = new ct();
_l[l] = c;
return c;
}
如果我尝试此代码,它会生成以下错误:
Implicit coercion of a value of type com.shapes:Box to an unrelated type Class.
Implicit coercion of a value of type Class to an unrelated type com.shapes:Box
我该如何解决这个问题,以便我可以创建不同类型的类,这些类都扩展了 Box 类并将它们放入Vector.<Box>
?