こんにちは、私はこのビットのコードを持っています。それがしなければならないことは、同じタイプのクラスがすでに存在する場合に生成する必要があるクラス (常に 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>
.