0

私のクラスのクローン関数を書いています。

        var buffer:ByteArray = new ByteArray();
        buffer.writeObject(this);
        buffer.position = 0;
        var gameblock:* = buffer.readObject();

オブジェクトを読み取る時が来ると、最後の行になります。これらの 3 つのエラーが一緒に表示されます。

TypeError: エラー #1009: null オブジェクト参照のプロパティまたはメソッドにアクセスできません。TypeError: エラー #1034: 型強制に失敗しました: Object@c60efe9 を model.BlockData に変換できません。TypeError: エラー #1034: 型強制に失敗しました: Object@c5141c1 を flash.geom.Matrix に変換できません。

クラス 'this' には、ユーザー定義のクラス BlockData と Point が含まれています。エラーが発生しています。このクラスをどのように複製すればよいと思いますか?

BlockData とポイントを再度上書きして、正しく返されるようにします。

4

1 に答える 1

1

メソッドを使用したより良い方法については、この回答を確認してください。ただし、この方法は単純な場合にのみ使用できることに注意してください。たとえば、TextFormat や Value Objects などのデータ オブジェクトのコピーなどです。DisplayObject とその後継はコピーできません。copyregisterClassAlias

于 2013-02-27T19:54:34.190 に答える