メイン 迷える子羊の部屋【初心者専用】 動的に作成したTextFieldが半分しか消えない | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
mamotin | Åê¹ÆNo.43630 投稿日時: 2009-10-7 1:40 |
新米 居住地: 投稿: 19
使用環境:
WinXP FlashCS3 |
動的に作成したTextFieldが半分しか消えない AS3でタイマーを使ってタイマーが一つカウントするごとに、”あ”と書かれたテキストフィールドをコンテナ(sp001)にaddChildしていくスクリプトを組んでみた後に・・・
タイマーが終わったと同時にコンテナ(sp001)から、sp001.numChildrenで数えてfor文でテキストフィールドをコンテナ(sp001)から全てremoveChildするようにしました。 するとなぜかコンテナからは半分のテキストフィールドしかremoveChildされません。(addChildされるテキストフィールドの数を増やしてみても見事にちょうど半分だけがremoveChildされます・・・)なぜなんでしょうか・・・? 教えていただきたいです・・・ var sp001:Sprite = new Sprite(); addChild(sp001); kan001(); function kan001():void { var i:int = 0; var timer001:Timer = new Timer(300,8); timer001.addEventListener(TimerEvent.TIMER,time001); timer001.addEventListener(TimerEvent.TIMER_COMPLETE,comp001); timer001.start(); function time001(e:TimerEvent):void { var txt001:TextField = new TextField(); txt001.text = "あ"; txt001.x = 20*i; sp001.addChild(txt001); i++; } function comp001(e:TimerEvent):void { for(var i =0;i<sp001.numChildren;i++){ sp001.removeChildAt(0); } removeEventListener(TimerEvent.TIMER,time001); removeEventListener(TimerEvent.TIMER_COMPLETE,comp001); } } |
野中文雄 | Åê¹ÆNo.43632 投稿日時: 2009-10-7 5:36 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 動的に作成したTextFieldが半分しか消えない 関数comp001()でカウンタ変数(i)を使っている意味がありません。DisplayObjectContainer.numChildrenプロパティの値と照らし合わせて、各値の変化をお確かめください。
引用: mamotinさんは書きました: |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |