トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     オブジェクトの複製について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
みつもと
Åê¹ÆNo.21202
投稿日時: 2005-11-1 18:30
新米
居住地: 大阪府
投稿: 16
使用環境:
WindowsXP(SP1), Flash MX Professional 2004, SE|PY AS Editor
オブジェクトの複製について
度々お世話になっております。みつもとです。
おそらく初歩的な質問なので恐縮ですが、
オブジェクトのコピーはどのようにするのが良いのでしょうか?

コピー元のオブジェクトを objA
コピー先のオブジェクトを objB とします。

=(イコール)を使って、
objB = objA;

とすると、オブジェクトのリファレンスがコピーされますので、
objB のオブジェクトを変更すると元の objA も変更されます。

こうではなくて、objA のクローンである objB を作成し、
objB を変更しても objA には何も影響しないようにする方法が思いつかないのです。

for?in 文を使って1個ずつプロパティをコピーすれば複製されたことになりますが、
もっと効率的な方法がないかと思い、質問させていただきました。
よろしくお願いいたします。
野中文雄
Åê¹ÆNo.21203
投稿日時: 2005-11-1 19:17
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: オブジェクトの複製について
他に方法は,ないと思います。
引用:
みつもとさんは書きました:
for?in 文を使って1個ずつプロパティをコピーすれば複製されたことになりますが、
もっと効率的な方法がないかと思い、質問させていただきました。

Flash MX 2004 ActionScript 2.0対応Macromedia Flash Remoting」をインストールすると、mx.utils.ObjectCopyクラスが使えます。静的メソッドObjectCopy.copy()は、引数のオブジェクトをコピーして返します。

ただし、対象のオブジェクト内に親のオブジェクトを参照するプロパティがあったりすると、無限ループになってしまいます。再帰処理をしていますので、256階層を超えるオブジェクトのプロパティも扱えないはずです。


----------------
 

みつもと
Åê¹ÆNo.21206
投稿日時: 2005-11-1 20:17
新米
居住地: 大阪府
投稿: 16
使用環境:
WindowsXP(SP1), Flash MX Professional 2004, SE|PY AS Editor
Re: オブジェクトの複製について
やっぱりありませんか

今回扱うのは、オブジェクトのプロパティにオブジェクトが含まれるような複雑なオブジェクトではないので、自前でなんとかしようと思います。

ありがとうございました
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops