yoshiweb.NET-blog



HOME > blog > mx.utils.ObjectCopyクラス でオブジェクトを複製
« イベント配信クラス×3 | Macromedia、Adobeと合併 »

mx.utils.ObjectCopyクラス でオブジェクトを複製

配列やオブジェクトをコピーしたいとき普通の変数のように A = B と代入すると参照が代入されるため、片方の値を変更すると両方変わってしまいますが、mx.utils.ObjectCopyクラス を使うとオブジェクトを複製できるようです。

通常の代入
var A = new Object();A.test = "テスト1";// オブジェクトAをオブジェクトBに代入var B = A;// Bを変更B.test = "テスト2";// Aも変更されてしまうtrace(A.test); // テスト2trace(B.test); // テスト2


mx.utils.ObjectCopyクラス で代入
var A = new Object();A.test = "テスト1";// オブジェクトAをオブジェクトBに代入var B = mx.utils.ObjectCopy.copy(A);// Bを変更B.test = "テスト2";// Aはそのままtrace(A.test); // テスト1trace(B.test); // テスト2

FLASH-JP.COM - 「値による代入」と「参照による代入」について
darron schall :: Know thy Class Library*
インスタンスレベルで定義された function はコピーされないようです。

<追記>
Fumiononaka.com - Macromedia Flash非公式テクニカルノート
FN0603002 - ObjectCopy.copy()メソッド
FN0604001 - ObjectCopy.copy()メソッドを多重配列対応に修正する
投稿者 yoshiweb - ActionScript - 2005/11/08 - 04:00:54 - Permalink
このエントリーをはてなブックマークに追加

Comments

コメントしてください

コメントを書く

※ スパム対策のためコメント内の URL は全角で書いてください。あとで半角に変換します。