メイン コーダーズルーム【スクリプト系】 unloadMovieとremoveMovieClipの違い | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
テライユタカ | Åê¹ÆNo.28764 投稿日時: 2006-9-17 12:20 |
常連 居住地: わかやま 投稿: 88
使用環境:
iMac G5 10.4.9 + iBook G4 10.3.9 + Flash8 |
unloadMovieとremoveMovieClipの違い ふと気になりだし、どうしてもわからないことがあります。
ライブラリ内に「a」というリンケージ識別子のMC、ステージ上にsw1,sw2,sw3のMCを用意します。 【sw1】MC配置用 on (release) { _root.attachMovie("a", "a", 1); } 【sw2】MC削除用 on (release) { _root.a.unloadMovie(); } 【sw3】MC削除用 on (release) { _root.a.removeMovieClip(); } 上記のASでsw1で配置され、sw2・sw3どちらでも削除されます。 しかしsw2とsw3どう違うのでしょうか?どちらを使用する方がメリットあるのでしょうか? どちらでも期待通りの動きはしているように思うのです。 ご存知の方、よろしくお願いいたします。
|
野中文雄 | Åê¹ÆNo.28766 投稿日時: 2006-9-17 12:36 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: unloadMovieとremoveMovieClipの違い 後でまだインスタンスを使う予定があれば(たとえば、MovieClip.loadMovie()メソッドのターゲットにする場合など)MovieClip.unloadMovie()メソッドを用い、もう不要ならMovieClip.removeMovieClip()メソッドで完全に削除すればよいのではないでしょうか。
|
テライユタカ | Åê¹ÆNo.28768 投稿日時: 2006-9-17 13:13 |
常連 居住地: わかやま 投稿: 88
使用環境:
iMac G5 10.4.9 + iBook G4 10.3.9 + Flash8 |
Re: unloadMovieとremoveMovieClipの違い 野中様、速攻のご回答ありがとうございます。
引用: 後でまだインスタンスを使う予定があれば(たとえば、MovieClip.loadMovie()メソッドのターゲットにする場合など)MovieClip.unloadMovie()メソッドを用い、もう不要ならMovieClip.removeMovieClip()メソッドで完全に削除すればよいのではないでしょうか。 なるほど。違いはわかりました。 そうなると、今製作中のASではunloadMovieを使った方が良いものと、removeMovieClipを使った方が良いものと、混在してきます。 現在はすべてUnloadMovieで制作中(全てunloadMovie>全てremoveMovieClip)なんですが、全てunloadMovieでコーディングするデメリットってあるのでしょうか?(完全に削除するメリットは?メモリの関係とか?) 正直でメリットがないなら、このままでもいいと思うのです。 ご存知なら教えてください。
|
野中文雄 | Åê¹ÆNo.28769 投稿日時: 2006-9-17 14:15 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: unloadMovieとremoveMovieClipの違い MovieClip.unloadMovie()メソッドでコンテンツを消去しても、設定した
実際上は、不要なインスタンスは、後でうっかり足をすくわれないよう、削除するのがプログラミング上よい習慣といえます。うっかりする可能性さえなければ、実質的に問題はないと思います。
[変数のリストアップ]より引用: 変数 _level0.my0_mc = [ムービークリップ:_level0.a] 引用: テライユタカさんは書きました: [追記] 設定した変数やプロパティの去就は、MovieClip.onUnloadイベントの発生後に確認する必要がありました。 ユーザー定義の変数(プロパティ)は、基本的にクリアされます。MovieClipに定義済みのプロパティについては、設定が残るもの、リセットされるもの、クリアされるものなどに分かれるようです。おそらく、MovieClip.loadMovie()メソッドにより外部ファイルを読込んだ場合とパラレルな結果になるものと推測されます。
|
テライユタカ | Åê¹ÆNo.28788 投稿日時: 2006-9-17 23:20 |
常連 居住地: わかやま 投稿: 88
使用環境:
iMac G5 10.4.9 + iBook G4 10.3.9 + Flash8 |
Re: unloadMovieとremoveMovieClipの違い
|
Fla4man | Åê¹ÆNo.28793 投稿日時: 2006-9-18 1:59 |
職人 居住地: かまくら 投稿: 517
使用環境:
WinMe,Win2000, Flash4,アズさん,大仏、delphi |
Re: unloadMovieとremoveMovieClipの違い unloadしたあと再度変数にアクセスしてみてください。
unloadMovie命令の直後には変数は残っていますが そのフレームが終了した後にはなくなっているはずです。 つまり違いは命令直後に参照できるかできないかで メモリー上からの削除自体についてはどちらもほぼ同じタイミングと見ていいでしょう。 このケースは「うまくデバッグするための視点」という意味で学ぶべき点が多いと思います。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |