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类如果我试着保存/加载一条消息,而不是一条消息列表,那么一切正常。

任何关于如何解决这个问题的帮助将不胜感激!

+1

不知道你可以做这样的自定义类。邮编 –

就像The_asMan说,我不认为你可以做自定义类,只能从AS3的基本数据类型。您可以在自定义类中执行的操作是在类中设置助手函数,如fromObject(object)和toObject():Object以帮助您转换它们。

+0

好的,我会试试。谢谢 – asutherland