【发布时间】:2013-04-19 21:20:48
【问题描述】:
我正在为我的游戏制作关卡编辑器,并希望能够访问包含在我的游戏中的所有类的列表。我的 Main 类中有一个静态函数:
public static function register(c:Class, category:String):void {
if (classRegister[category] == null) {
classRegister[category] = new Array();
}
classRegister[category].push(c);
}
然后,在我想注册的每个类中,我都放了一个静态初始化器:
{
Main.register(prototype.constructor, "motion");
}
然而,静态初始化器只会在类第一次被使用时被调用。有没有办法让一个类在游戏开始时强制自己被使用?我知道我可以在主文件中显式列出所有已注册的类,但这是次优的,因为每当添加需要注册的新类时都必须编辑主文件。
谢谢,
瓦尔加
【问题讨论】:
-
你的类实际上在代码中的某处被引用了吗?它们是否被编译到 SWF 中?此外,如果有部分库 (SWC),您有更多可能影响答案的链接选项。
标签: actionscript-3 class static initialization initializer