Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как удалить предыдущий addChild через кнопку (http://www.flasher.ru/forum/showthread.php?t=210694)

taux 22.04.2015 00:38

как удалить предыдущий addChild через кнопку
 
Добрый вечер!
Код AS3:

package   {
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.events.TextEvent;
        import flash.events.MouseEvent;
        import flash.text.*;
        import flash.display.*;
 
                [SWF(width="500", height="500")]
 
                public class Island extends Sprite{
 
 
                public function Island() {
 
 
                        var btnNew:myBtn = new myBtn();
                        addChild(btnNew);
                        btnNew.x = 180;
                        btnNew.y = 440;
                        btnNew.label = "обновить";
                        btnNew.addEventListener(MouseEvent.CLICK, pressMyBtn);
                }
 
 
                private function pressMyBtn(event:MouseEvent):void
                {
                        var allSector:allSectorIsland = new allSectorIsland();
                        addChild(allSector);
                        allSector.x = 10;
                        allSector.y = 10;
 
                }
        }
}

вот я добавил кнопкой addChild(allSector);
как при повторном нажатии кнопки удалить старый и сразу тудаже добавить вновь посланный addChild(allSector);?
чтобы друг на друга не наслаивались

garymar 22.04.2015 01:07

Код AS3:

var allSector:allSectorIsland;
 
private function pressMyBtn(event:MouseEvent):void
{
        // Если в этом контейнере какие-то объекты есть (кноме кнопки, которая уже создана)
        if (numChildren > 1)
        {
                // то перебираем все их
                for (var i:uint = 1; i <= this.numChildren; i++ )
                {
                        // и каждый удаляем
                        this.removeChildAt(i);
                }
        }
                // затем добавляем то, что нам нужно
                allSector = new allSectorIsland();
                allSector.x = 10;
                allSector.y = 10;
                this.addChild(allSector);
}


taux 22.04.2015 01:25

ах вот оно как!
большое спасибо! все заработало

Добавлено через 17 минут
еще вопрос...
Код AS3:

for (var i:int = 0; i <= 10; i++) {
                        ..................
              }
                addChild(grassSuccus);

данный цикл отображает сочность травы на выходе из 11 тактов

вопрос: можно ли addChild отобразить последовательно в динамике с определенной задержкой 0цикл-2 секунды-1 цикл-2секунды... ...-2 секунды-11 цикл
какой-нить таймер может между removeChild и addChild?

garymar 22.04.2015 14:26

непонял вопроса. 11 тавинок нужно вывести и что-бы они выводились последовательно через определенный промежуток времени?

taux 24.04.2015 13:54

Там в рандомном порядке по циклу 11 раз друг за другом должны появляться то 2, то 8, то 3 травинки (опять же без наслоения) через определенный промежуток времени.


Часовой пояс GMT +4, время: 19:30.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.