我在存储一个对象数组时遇到问题,所有这些对象都是LSO中的相同自定义类,然后从LSO重新加载该数组,而不会丢失列表中对象的类类型。
我知道如何使用registerClassAlias()
函数存储自定义类的单个对象并使用正确的类类型加载它,但我似乎无法将其应用于对象数组。
我正在尝试保存名为messageList的数组。每个元素都是一个自定义类GameMessage,其属性名为gameLevel。加载LSO后,我正在尝试做类似
的操作trace("0th message is from level " + GameMessage(messageList[0]).gameLevel);
我得到一个例外:
TypeError:错误#1034:类型强制失败:无法将Object @ 90fdfa1转换为GameMessage。
我已经使用
注册了GameMessage类registerClassAlias("GameMessage", GameMessage);
并且一切都有效,而不是我尝试保存/加载单个消息的消息列表。
非常感谢任何有关如何解决此问题的帮助!
答案 0 :(得分:1)
像The_asMan一样,我认为你不能做自定义类,只有AS3的基本数据类型。您可以在自定义类中执行的操作是设置辅助函数,如fromObject(object)和toObject():类中的Object可帮助您转换它们。