Actionscript 3 AS3:在本地共享对象(LSO)中存储自定义类数组

Actionscript 3 AS3:在本地共享对象(LSO)中存储自定义类数组,actionscript-3,lso,Actionscript 3,Lso,我在存储对象数组时遇到问题,所有对象在LSO中都是相同的自定义类,然后从LSO重新加载该数组,而不会丢失列表中对象的类类型 我知道如何存储自定义类的单个对象,并使用registerClassAlias()函数以正确的类类型加载它,但我似乎无法将此应用于对象数组 我正在尝试保存一个名为messageList的数组。每个元素都是一个自定义类GameMessage,具有名为gameLevel的属性。加载LSO后,我尝试执行以下操作 trace("0th message is from level "

我在存储对象数组时遇到问题,所有对象在LSO中都是相同的自定义类,然后从LSO重新加载该数组,而不会丢失列表中对象的类类型

我知道如何存储自定义类的单个对象,并使用
registerClassAlias()
函数以正确的类类型加载它,但我似乎无法将此应用于对象数组

我正在尝试保存一个名为messageList的数组。每个元素都是一个自定义类GameMessage,具有名为gameLevel的属性。加载LSO后,我尝试执行以下操作

trace("0th message is from level " + GameMessage(messageList[0]).gameLevel);
我得到了这样一个例外:

TypeError:错误#1034:类型强制失败:无法转换Object@90fdfa1给我留言

我已经使用注册了GameMessage类

registerClassAlias("GameMessage", GameMessage);
如果我尝试保存/加载一条消息,而不是一个消息列表,那么一切都会正常工作


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

正如阿斯曼所说,我认为您不能定制类,只能定制AS3中的基本数据类型。在自定义类中可以做的是在类中设置诸如fromObject(object)和toObject():object之类的帮助函数来帮助您转换它们

不确定您是否可以像这样自定义类。邮政编码