Форум 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=117062)

Venya2007 17.10.2008 18:51

Как правильно удалять объекты?
 
Вот например есть код:
Код:

var l:Loader = new Loader()
var z:MovieClip=null
l.load(new URLRequest("plane.swf"))
l.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete)
function onComplete(evt:Event):void{
        z= evt.target.content as MovieClip
        addChild(z)
        z.getSounds()[0] .play(0,100)
       
}

как удалить обьект z?

etc 17.10.2008 19:10

Остановить звук, удалить со сцены, занулить ссылку.

Xpb7 17.10.2008 19:12

__etc опередил.
Дальше gc всё сделает за вас.

etc 17.10.2008 19:15

Цитата:

Сообщение от Xpb7 (Сообщение 771057)
Дальше gc всё сделает за вас.

Это мечта. А по факту ничего подобного он не сделает.
В каком порядке создали объект, в том же порядке надо его удалить.

Venya2007 17.10.2008 20:34

Спасибо!Нужно писать деструктор для каждого класа и явно его вызывать?

AL.exe 17.10.2008 22:37

Что-то я не уверен, что в AS получится написать полноценный рабочий деструктор... разве this=null получиться выполнить после всех предварительных действий?

Вед недостаточно же просто убрать со сцены все, что было добавлено экземпляром класса и поставить в null все его свойства...

Venya2007 18.10.2008 15:45

И что делать?

etc 18.10.2008 15:50

AL.exe, нет в AS3 деструкторов, this = null — это вообще утопичная идея.

Venya2007, что делать написано во втором посте.

Venya2007 18.10.2008 18:26

Цитата:

Venya2007, что делать написано во втором посте.
Ок,спасибо большое.

AL.exe 18.10.2008 23:17

Цитата:

Сообщение от __etc (Сообщение 771214)
AL.exe, нет в AS3 деструкторов,

Ну, я имел ввиду, что не получится сделать и просто метод, который бы вел себя как реализация деструктора при явном вызове.

А жаль...


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

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