我的问题比标题所暗示的要复杂一些。我在一家拥有20个Flash游戏的公司工作。我们的玩家也有自定义的头像,这些头像在我们的游戏中使用。
我们有一个文件,Avatar.swf,由我们的预加载器加载,然后传递给GameName.swf。我想拿这个Avatar movieclip并创建一个工厂类,这样我们就可以在游戏中有很多实例。
我可以从加载器中获取Avatar动画片段的实例而不会出现问题。我知道有两种方法可以从AS3中的实例中获取构造函数。
1。)Object(myInstance).constructor as Class
2。)getDefinitionByName(getQualifiedClassName(myInstance))as Class
1间歇性地工作但是在3中大约1次我得到由结果实例抛出的空引用错误。我不知道为什么,但这不是一个一致的问题。这几乎就像脚本在那里,但资产库不是。它在调试模式和释放模式下都会发生。使用FlashDevelop和CS5.5进行编译时也会发生这种情况。
2 throws错误#1065:未定义变量头像。我理解这是因为我没有导入Avatar包并声明了Avatar的虚拟实例,但这是重点。例如,如果我们通过添加新的服装项目来更改头像,我们绝对不希望必须通过我们不断扩展的游戏列表并重新编译它们。换句话说,我不想在每个游戏中都使用阿凡达代码,否则会在我们的预加载器中加载它。
有人有任何建议吗?
谢谢!
答案 0 :(得分:1)