AS3:存储自定义类的阵列中的本地共享对象(LSO)
问题描述:
我有问题存储对象的阵列,所有这些都是在一个LSO相同的自定义类,然后重装从LSO数组不失类列表中的对象的类型。AS3:存储自定义类的阵列中的本地共享对象(LSO)
我知道如何存储一个自定义类的单个对象,并使用registerClassAlias()
函数加载正确的类类型,但我似乎无法将其应用于对象数组。
我想保存一个名为messageList的数组。每个元素都是一个自定义类GameMessage,它具有一个名为gameLevel的属性。我加载LSO后,我试图做类似
trace("0th message is from level " + GameMessage(messageList[0]).gameLevel);
而且我得到的是这样的例外:
TypeError: Error #1034: Type Coercion failed: cannot convert [email protected] to GameMessage.
我已经注册使用
registerClassAlias("GameMessage", GameMessage);
的GameMessage类如果我试着保存/加载一条消息,而不是一条消息列表,那么一切正常。
任何关于如何解决这个问题的帮助将不胜感激!
答
就像The_asMan说,我不认为你可以做自定义类,只能从AS3的基本数据类型。您可以在自定义类中执行的操作是在类中设置助手函数,如fromObject(object)和toObject():Object以帮助您转换它们。
+0
好的,我会试试。谢谢 – asutherland
不知道你可以做这样的自定义类。邮编 –