メイン コーダーズルーム【スクリプト系】 removeChild後のタイムライン | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ebi | Åê¹ÆNo.49791 投稿日時: 2013-4-26 19:09 |
フォーラム芸人 居住地: nagoya 投稿: 926
使用環境:
.6.8 CS6 <参考書> ・基本からしっかりわかるActionScript 3.0(既読) ・ActionScript3.0プロフェッショナルガイド(進行中) ・ActionScript3.0パフォーマンスチューニング(未読) ・ActionScript 3.0 逆引きクイックリファレンス(購入予定... |
removeChild後のタイムライン こんにちは。ebiです。
「呼び出し元の子?」から派生した壁です。 コマツさんのアドバイス通り、 「MovieClip(parent)」で試したところ、removeChildはできた(消えた)のですが、 今度は違うエラーが出てしまいました。
今度は「ないものを参照しようとしてるぞ!」と怒られてるようです。 A_MC以外、参照してないはずなのですが。 trace(MovieClip(parent).name); しても「A_MC」と出力。合ってます。 他に参照してるものが見当たらない… なんだコレー? なんだコレー? と、いろいろやってるうちに、 このエラーが出るのに、ちょっと時間がかかる事に気付きました。 10フレーム再生した分くらいの時間。MARUも10フレーム。 ハッ これは、もしかして… と思い(ここまで2時間) removeChildの前に、stop();としたところエラー出なくなりました。 MARU、消えてないじゃん! どうやら、removeChildしたにも関わらず、 MARUのタイムラインが生きているようで、 もう一度1フレーム目に戻り、再生を続け、2回目の10フレーム目で、 再びMovieClip(parent)を参照、今回のエラーが出ているようなのです。 AS2.0のremoveMovieClip()のような挙動を期待してたのですが これでは、visible=false と変わりません… 2回目の参照が「A_MC」ではなく「null」になる点で visibleのように、ただ非表示になっているわけではなく、 "どこか" に引っ込んでいるようなのですが、存在はしてます。 まるで袖に引っ込めたはずのキャストがまだ歌っとる! 状態です。 これはいったい、どういうことなのでしょう。 どうすれば、タイムラインも含め完全に消す事ができるのでしょう? メモリから消しちゃいたいんです。ガベコレってほしいんです。 よろしくおねがいします。 ※間違えてコーダーズルームに投稿しちゃいました…すいません |
野中文雄 | Åê¹ÆNo.49792 投稿日時: 2013-4-26 19:52 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: removeChild後のタイムライン ガベージコレクタはタクシーと違って呼びつけられず、路線バスのように来るまで待つしかありません。それまでの間、手作業で以下を行います。
1. DisplayObjectContainer.removeChild()メソッドで表示リストから除く 2. DisplayObject.removeEventListener()メソッドでイベントリスナーを削除する 3. MovieClip.stop()メソッドで再生ヘッドを止める 4. インスタンスへの参照をすべて破棄する Loaderオブジェクトで読込んだSWFには、Loader.unloadAndStop()メソッドが使えます(「外部から読込んだSWFをメモリから消し去るには」参照)。 なお、拙著『ActionScript 3.0パフォーマンスチューニング』をお持ちの方は、p.212?の05-03「インスタンスをメモリから消し去るには」をお読みください。 引用: ebiebiさんは書きました: |
ebi | Åê¹ÆNo.49793 投稿日時: 2013-4-27 0:52 |
フォーラム芸人 居住地: nagoya 投稿: 926
使用環境:
.6.8 CS6 <参考書> ・基本からしっかりわかるActionScript 3.0(既読) ・ActionScript3.0プロフェッショナルガイド(進行中) ・ActionScript3.0パフォーマンスチューニング(未読) ・ActionScript 3.0 逆引きクイックリファレンス(購入予定... |
Re: removeChild後のタイムライン 野中さん、ありがとうございます。
お餅です! ペッタンペッタン 参考にさせて頂きまーす。 ガベコレさんが路線バスなのは心得ておりましたが、 (たぶんこれも野中さんのご著書で知った事) 再生ヘッドまで止めなきゃいけないのは知りませんでした。 理解&解決したら、自己レスしときまーす。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |