我在存储对象数组时遇到问题,所有这些对象都是 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);
如果我尝试保存/加载单个消息而不是消息列表,那么一切正常。
任何有关如何解决此问题的帮助将不胜感激!