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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   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

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