Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   не могу удалить клип, ошибка #2025 (http://www.flasher.ru/forum/showthread.php?t=125983)

Zik. 06.06.2009 15:06

не могу удалить клип, ошибка #2025
 
Народ, прошу помощи.

Создал два клипа. Вытаскиваю их из библиотеки кодом. И хочу, чтобы при столкновении один из клипов удалялся.

Вот код:

Код AS3:

package {
        import flash.events.*
        import flash.display.*
        public class Root extends MovieClip {
                public var wall:Wall = new Wall;
                public var ball:Ball = new Ball;
                public function Root():void {
                        wall.x = 200;
                        wall.y = 200;
                        addChild(wall)
                        addChild(ball)
                        ball.startDrag(true)
                        addEventListener(Event.ENTER_FRAME, hit)
                }
                public function hit(e:Event):void {
                        if (ball.hitTestObject(wall)) {
                                removeChild(wall)
                        }
                }
        }
}

При компиляции выдает ошибку:
Код:

ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
        at flash.display::DisplayObjectContainer/removeChild()
        at Root/hit()

Помогите решить проблему.

silin 06.06.2009 15:24

хитТест работает и для объектов, которые не присутствуют в дисплейЛисте
после удаления объекта, хитТест все равно срабатывает, но удалить уже удаленный объект не судьба..
т.е. надо или удалять сам обработчик или проверять присутствие объекта в дисплейЛисте, типа if (wall.parent && ball.hitTestObject(wall))

Zik. 06.06.2009 16:29

спасибо большое


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

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