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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   とにかくFLASH【FLASHに関して全般】
     addChildとremoveChild
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
cb-ss
Åê¹ÆNo.48873
投稿日時: 2012-3-2 23:36
半人前
居住地: kobe
投稿: 32
使用環境:
addChildとremoveChild
こんばんは。
この度はaddChildとremoveChildについて質問させていただきたく思います。

以下にサンプルを作成しましたので
まずご覧いただければと思います。
http://www.geocities.co.jp/aqua_cube_mix/data/add_remove.html

※まず、このサンプルは5フレームで構成されており、
1フレーム目に以下のスクリプトを記述しています。

btn1.addEventListener(MouseEvent.CLICK,action1);
function action1(eventObject:MouseEvent):void{
	removeChild(aka);
}

btn10.addEventListener(MouseEvent.CLICK,action10);
function action10(eventObject:MouseEvent):void{
	addChild(aka);
}

btn2.addEventListener(MouseEvent.CLICK,action2);
function action2(eventObject:MouseEvent):void{
	removeChild(ao);
}

btn20.addEventListener(MouseEvent.CLICK,action20);
function action20(eventObject:MouseEvent):void{
	addChild(ao);
}

idou_btn.addEventListener(MouseEvent.CLICK,idou_action);
function idou_action(eventObject:MouseEvent):void{
	if(currentFrame == 5){
		this.gotoAndStop(3);
	}else{
		nextFrame();
	}
}


▼確認して頂きたい事(動作)
まず、「赤」と「青」のそれぞれのムービークリップを
「1」と「2」のボタンでremoveChild(削除)します。
(「10」と「20」でaddChild(表示)もできますが。)

そして「赤」と「青」どちらも消えている状態で
「idou」ボタンで、フレームを1つずつ進んで行き
5フレームにいる状態で「idou」ボタンを押すと
3フレーム目に戻る指定なのですが、

この時、先ほどremoveChildした「赤」と「青」のMCが
addChildした訳でも無いのに自動的に復活?(表示)されます。
(自動的に復活した「赤」と「青」のMCも
「1」「2」ボタンでそれぞれ再度removeChildは出来ますが)

また、最初から「赤」「青」ともに表示されたまま、
(一度もremoveChildせずに)5フレームから「idou」ボタンで
3フレームに戻った時は「1」「2」ボタンを押すとremoveChildされますが、
「赤」「青」が表示されているか消えている状態か関係なく
一度でも「10」「20」を押してaddChildしてから、
5フレ→3フレ移動すると、その後は「1」「2」ボタンで
removeChildする事ができなくなります。(汗)


フレーム移動でも、前に進む時は特に何も起こらないのに、(想定通り)
前に戻る時はなぜ「赤」「青」が自然に復活する(想定外)
のでしょうか?

removeChildしたムービークリップはフレーム移動しても(前に戻っても)
ずっと消えたままでいて欲しいのです。
「10」「20」を押した時だけaddChildさせたいのですが・・・
また「1」「2」を押した時に確実にremoveChildさせたいのです。

尚、このflaソースファイルも下記にアップしておりますので
ご確認いただければ幸いです。

http://www.geocities.co.jp/aqua_cube_mix/data/add_remove.zip
※右クリックで保存してください(flash CS4形式)


※ちなみに「赤」「青」を一度removeChildし、消えた状態で
さらに「1」「2」ボタンでremoveChildしようとするとエラーが出ますが、これは納得です。
(消そうとする対象のMCがステージに存在しないから。と解釈しています)

逆に「赤」「青」が表示された状態で「10」「20」でaddChildしても特にエラーはでませんが、
これは特に問題ないのでしょうか?
(すでに表示されている「赤」「青」の上にさらに同じ「赤」「青」が追加されていっている事になるのでしょうか?)


ご教授いただければ幸いです。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » addChildとremoveChild cb-ss 2012-3-2 23:36
     Re: addChildとremoveChild moyashinek 2012-3-4 2:24
       Re: addChildとremoveChild cb-ss 2012-3-5 9:06
         Re: addChildとremoveChild vader 2012-3-5 15:01
           Re: addChildとremoveChild cb-ss 2012-3-7 9:16

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