メイン ActionScript 3.0 特設会議室 インスタンスの破棄 | 投稿するにはまず登録を |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
wata1 | Åê¹ÆNo.39390 投稿日時: 2008-7-1 19:01 |
半人前 居住地: 東京 投稿: 33
使用環境:
|
インスタンスの破棄 インスタンスの破棄についてお聞きいたします。
Flash Pro8でのActionScript2を使かっていた頃には インスタンスの生成と破棄を以下のように行っていました。 ("ls_fly"はリンケージです。) //-- ActionScript2 (生成) ig_throw = this.attachMovie("ls_fly", "is_fly", 0); (破棄) ig_throw.removeMovieClip(); ig_throw = null; FlashCS3でのActionScript3で同じ事を行おうとして、以下のような コードを記述したのですが、すぐにはインスタンスが消滅しないようです。 //-- ActionScript3 (生成) ig_throw = new ls_fly; this.addChildAt(ig_throw,0); (破棄) this.removeChild(ig_throw); ig_throw = null; インスタンスが消滅しないようという表現があいまいですので少し 説明いたします。 ls_flyの中にenterFrameを設定し、90回カウントした後で親にメッセージを 送るようにしました。 ActionScript2では生成してそのまま破棄すれば、メッセージは来ませんでしたが、 ActionScrip3では生成してそのまま破棄しても、メッセージが来てしまいます。 (もちろん見た目上は両方とも消えています。) ActionScrip3では破棄というより、単にリンクリストからはずすだけのようなの ですが、この辺の事で詳しい方がいらっしゃいましたら、「何処に記述してあります。」という情報で結構ですのでお願いいたします。 もちろんガーベジコレクションで参照がなくなれば、いずれ自動的に破棄されるの でしょうが、 ちょっと突っ込んで調べてみたいと思い、質問させていただきました。 //環境 appli : FlashCS3 OS : Mac OSX 10.4.11 Hard : Power PC G4 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» インスタンスの破棄 | wata1 | 2008-7-1 19:01 |
Re: インスタンスの破棄 | Fumio | 2008-7-1 20:43 |
Re: インスタンスの破棄 | wata1 | 2008-7-1 23:28 |
投稿するにはまず登録を | |