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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.10.2013, 01:35
art_maestro вне форума Посмотреть профиль Отправить личное сообщение для art_maestro Найти все сообщения от art_maestro
  № 1  
Ответить с цитированием
art_maestro

Регистрация: Mar 2013
Сообщений: 157
По умолчанию Удалить все объекты со stage

здравствуйте

Меня интересует вопрос, как можно удалить все объекты со stage, чтобы остался чистый "белый лист", тобиж пустая сцена.

У меня возникало в голове несколько вариантов, например с использованием stage.removeChildAt( ); и цикла с использованием stage.numChildren>=0, но думаю это не совсем правильная идея.

Я проверил, и некоторые объекты остаются на сцене. подскажите пожалуйста способ удаления всех объектов со сцены.

Спасибо.

Старый 25.10.2013, 01:40
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 2  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
На stage добавлять не чего нельзя! Категорически запрещается делать stage.addChild().
Создайте контейнер из спрайт и в него добавляйте, что бы удалить всех его детей
Код AS3:
container.removeChildren();

Старый 25.10.2013, 01:47
art_maestro вне форума Посмотреть профиль Отправить личное сообщение для art_maestro Найти все сообщения от art_maestro
  № 3  
Ответить с цитированием
art_maestro

Регистрация: Mar 2013
Сообщений: 157
Спасибо за совет!

Старый 25.10.2013, 01:55
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 4  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
Если Вам нужно удалить все объекты из контейнера, удаляются циклом.
Код AS3:
var numChildrenInContainer = container.numChildren;
for(var i:int=0; i<numChildrenInContainer; i++)
{
    container.removeChildAt(0);
}

Старый 25.10.2013, 02:01
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 5  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
belv а можно Вас спросить, Вы свой ответ дали с целью обучения ТС.
Или у removeChildren есть недостатки по сравнению с removeChildAt ?

Старый 25.10.2013, 02:03
art_maestro вне форума Посмотреть профиль Отправить личное сообщение для art_maestro Найти все сообщения от art_maestro
  № 6  
Ответить с цитированием
art_maestro

Регистрация: Mar 2013
Сообщений: 157
С контейнера я удалю, я так и предполагал. Но все равно спасибо!
Суть проблемы в том, что мне нужно выполнить как бы перезагрузку swf файлика. получается удалить все и загрузить новое содержимое. Загрузка удалась, а вот корректно удалить все пока не могу, буду переделывать.

Может есть функция, которая как бы "перезагружает" swf файл, возвращаясь к первоначальному состоянию?

Старый 25.10.2013, 02:36
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 7  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
А что такое emoveChildren?

Старый 25.10.2013, 02:44
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 8  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
А что такое emoveChildren?
Как это что?) Нативный метод удаления всех элементов контайнера, который наверняка точно так же
и устроен - получил кол-во детей, удалил в цикле. С моей стороны кажется, что нативный должен быть капельку быстрей, так как он со стороны программы работает ( но так, как я не знаю как именно, возможно он обходными путями получает информацию ), но и не исключено, что и наоборот. Вот я и спросил, думал возможно кто то замерел скорость выполнения и не пожалеет ей поделится.

Старый 25.10.2013, 03:01
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 9  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
Ссылку на нативный метод можно?

Старый 25.10.2013, 03:03
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 10  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
removeChildren()

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

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

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


 


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


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