Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   removeChild для стат.текста и мувиклипа (http://www.flasher.ru/forum/showthread.php?t=166323)

fantomasdnb 01.09.2011 22:35

removeChild для стат.текста и мувиклипа
 
всем привет. Помогите сделать следующее.

Добавляю на сцену мувиклип, в котором есть статический текст, мувиклип и графика. Мне нужно удалить стат. текст и мувиклип. Я вобще очень не дружу с removeChild. Скажите пожалуйста как это сделать, я устал уже с мануалом биться.

Код AS3:

                        citiesClip = new Buzb();
                        citiesClip.x = stage.stageWidth / 2//место и размер
                        citiesClip.y = stage.stageHeight / 2;
                        citiesClip.height = stage.stageHeight * koef;
                        citiesClip.width = citiesClip.height * rate;  //
                        citiesClip.addEventListener(MouseEvent.CLICK, onCitiesClipClicked);
                        addChild(citiesClip);

куда и как впихнуть ремувЧайлд??

Newred 01.09.2011 23:16

Код AS3:

можешь  добавить 
private var aMovie:Array = []; // в начале класса создаем массив
 
citiesClip = new Buzb();
                        citiesClip.x = stage.stageWidth / 2//место и размер
                        citiesClip.y = stage.stageHeight / 2;
                        citiesClip.height = stage.stageHeight * koef;
                        citiesClip.width = citiesClip.height * rate;  //
                        citiesClip.addEventListener(MouseEvent.CLICK, onCitiesClipClicked);
                        addChild(citiesClip);
                        aMovie.push(citiesClip);
 
 
                        // в любом месте
                        removeChild(aMovie[0]);


fantomasdnb 01.09.2011 23:20

Я же таким образом удалю сам citiesClip, а мне надо удалить из него два объекта, оставив остальное на месте.

ЗлОй ПрОграММер 01.09.2011 23:51

Присвой имена вложенному тексту и вложенному мувиклипу, во Flash IDE это справа вверху))
пусть имена txt и myvik
вот код который их удаляет
Код AS3:

if (txt.parent != null) txt.parent.removeChild(txt);
if (myvik.parent != null) myvik.parent.removeChild(myvik);


Newred 02.09.2011 03:41

ЗлОй ПрОграММер , а разве так не проще ?
Код AS3:

citiesClip.removeChild(txt); // TextField name
citiesClip.removeChild(mc); // MovieClip name


in4core 02.09.2011 03:51

В данном случае проще. Во многих других нужно так как описал программер

ЗлОй ПрОграММер 02.09.2011 13:41

поправочка
Код AS3:

citiesClip.removeChild(citiesClip.txt); // TextField name
citiesClip.removeChild(citiesClip.mc); // MovieClip name


fantomasdnb 02.09.2011 18:48

ура спасибо огромное! последнее сработало наконец то) правда пришлось текст сделать динамическим.
собственно последний вопрос: экземплярам графики и статического текста нельзя дать имя, тоесть экшнскриптом их удалить нельзя? или я чего то не увидел?

ЗлОй ПрОграММер 02.09.2011 19:08

свойство name
Код AS3:

myvik.name = 'myvik1';


Genzo 02.09.2011 19:22

http://help.adobe.com/ru_RU/FlashPla...taticText.html
Код AS3:

 var i:uint;
 for (i = 0; i < this.numChildren; i++) {
    var displayitem:DisplayObject = this.getChildAt(i);
    if (displayitem instanceof StaticText) {
        trace("a static text field is item " + i + " on the display list");
        var myFieldLabel:StaticText = StaticText(displayitem);
        trace("and contains the text: " + myFieldLabel.text);
    }
 }

Добавлено через 1 минуту
А если графика просто нарисована и не добавлена в Shape , то ее можно удалить graphics.clear()


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

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