AS3.0でディープコピー

AS3.0では、自作クラスを関数の引数に渡したり代入したりすると参照がコピーされる。
C,C++でいうポインタでアドレス渡しているような状況。


このため、あるデータを関数に渡して複製して、その複製したデータを変更すると、
複製元まで影響がでてくる。
このため、参照を取得するのではなく、値をコピーするようにしなければいけない。


手段としては、ByteArrayを使う方法があるそうですが、自分はうまくできませんでした。
作成した型を自分で作成したクラスにキャストする方法が分からなかったのです。

そこで、AS3.0はプリミティブ型は値でコピーされるとのことなので、
プリミティブ型(intとかString)まで下っていってコピーする手法になりました。
各クラスに子クラスのメンバーをコピーするメソッド作ってそれを、最下層まで実施する
方法です。力技ですw
http://d.hatena.ne.jp/octech/20080419

今調べてたら、キャストについては、
この手法でできるかもしれない、あとで試してみよう。
http://www.fxug.net/modules/xhnewbb/viewtopic.php?topic_id=626




AS3.0参照について参考サイト
http://www.func09.com/wordpress/archives/176
http://oshige.com/flash/as3note_cs4/2009/08/post-49.html