Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Удаление объектов определенного класса со сцены (http://www.flasher.ru/forum/showthread.php?t=121138)

Marleny 08.02.2009 20:38

Удаление объектов определенного класса со сцены
 
Здравствуйте!

Такой вопрос: как удалить со сцены все объекты определенного класса? то есть я подозреваю, нужно сделать цикл по всем объектам с условием, если текущий объект - нужного класса, то затем его убрать с помощью removeChid(currentObject)? но цикл не могу написать, помогите, плиз :rolleyes:

fljot 08.02.2009 20:44

Код AS3:

var child:DisplayObject;
var n:uint = numChildren;
for (var i:uint = 0; i < n; i++)
{
    child = getChildAt(i);
    // ...
}


etc 08.02.2009 20:45

В этом вам поможет свойство numChildren и методы getChildAt, removeChild у DisplayObjectContainer, а также оператор «is» для определения принадлежности классу.

silin 08.02.2009 20:46

как вариант хранить ссылки на все экземпляры в статическом массиве, ну и удалить всех, если надо
Код AS3:

public class MyClass extends DisplayObject
{
        static public var  list:Array = [];
        public function MyClass()
        {
                list.push(this);
        }
        public static function removeAll():void
        {
                //что предполагает удаление, например:
                for (var i:int = 0; i < list.length; i++)
                {
                        var obj:MyClass = list[i];
                        if (obj.parent) obj.parent.removeChild(obj);
                }
                list = [];
        }
 
}


Marleny 09.02.2009 17:45

Всем спасибо, помогли :) вопрос решен


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

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