オブジェクトの配列を保存する際に問題が発生しました。これらはすべて同じカスタムクラスであり、リスト内のオブジェクトのクラスタイプを失うことなく、LSOからその配列を再読み込みします。
カスタムクラスの単一のオブジェクトを格納し、関数を使用して正しいクラスタイプでロードする方法を知っていますが、registerClassAlias()
これをオブジェクトの配列に適用できないようです。
messageListという配列を保存しようとしています。各要素は、gameLevelというプロパティを持つカスタムクラスGameMessageです。LSOをロードした後、次のようなことをしようとしています。
trace("0th message is from level " + GameMessage(messageList[0]).gameLevel);
そして、私はこのような例外を取得しています:
TypeError:エラー#1034:Type Coercionが失敗しました:Object@90fdfa1をGameMessageに変換できません。
を使用してGameMessageクラスを登録しました
registerClassAlias("GameMessage", GameMessage);
メッセージのリストではなく、1つのメッセージを保存/ロードしようとすると、すべてが機能します。
この問題を解決する方法についての助けをいただければ幸いです。