Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.08.2007, 16:57
Dima_DPE вне форума Посмотреть профиль Отправить личное сообщение для Dima_DPE Найти все сообщения от Dima_DPE
  № 21  
Ответить с цитированием
Dima_DPE

блогер
Регистрация: Aug 2005
Сообщений: 178
Записей в блоге: 4
MoHaX, я и не говорил что destroy удалит, он лишь подготовит его к удалению (в Delphi destroy обычно раза в два больше create), зато потом сработает removeChild(), но из памяти он не удалится (__etc прав), для этого надо удалить все ссылки, но ведь это в наших силах?

Старый 23.08.2007, 20:38
MoHaX вне форума Посмотреть профиль Отправить личное сообщение для MoHaX Найти все сообщения от MoHaX
  № 22  
Ответить с цитированием
MoHaX
 
Аватар для MoHaX

Регистрация: Aug 2004
Сообщений: 422
Отправить сообщение для MoHaX с помощью ICQ
Все ссылки, а также удались со сцены и забыть о нём)

Меня смутило то что он занимает память, и я подумал что делаю что-то н так.
Но всё хорошо, так и должно быть)

Старый 21.09.2007, 19:41
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 23  
Ответить с цитированием
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
что то я совсем запутался
я создаю экземпляр класса по тима Sprite
Код:
this.preloader = new Sprite();
addChild(this.preloader);
далее пытаюсь удалить визуальную часть если она есть
Код:
// функция onEnterFrame
private function enterframe(event:Event):void {
if (this.preloader!=null) {
trace (this.preloader+"+"+DisplayObject(this.preloader));
if (stage.loaderInfo.bytesLoaded/stage.loaderInfo.bytesTotal==1) {
removeChild(DisplayObject(this.preloader));
}
}
}
и смешное что спрайт с экрана и правда пропадает, но DisplayObject(this.preloader) всё ещё существует.

а ошибка выдаётся следущая.
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display:isplayObjectContainer/removeChild()
at WAY/::enterframe()


как определить или удалить в таком случае объект? Ну или как проверить есть ли он?

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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