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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.10.2013, 03:09
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 11  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
КУДА СМОТРЕТЬ?

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

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
КУДА СМОТРЕТЬ?
В настройках сайта адобехелп выставьте последнею версию флешплеера и прочего...

Добавлено через 1 минуту
Вот из хелпа -
Цитата:
removeChildren () метод

public function removeChildren(beginIndex:int = 0, endIndex:int = 0x7fffffff):void
Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 3.0, Flash Player 11




Удаляет все child экземпляры DisplayObject из списка дочерних элементов экземпляра DisplayObjectContainer. Свойство parent удаленного дочернего элемента получает значение null, а сами объекты очищаются, если нет других ссылок на дочерние элементы.

Сборщик мусора перераспределяет неиспользуемый объем памяти. Когда на переменную или объект больше нет ссылок или он хранится в другом месте, сборщик мусора очищает и утилизирует память, которую он занимал, при условии отсутствия ссылок


Параметры beginIndex:int (default = 0) — Начальная позиция. Значение меньше 0 вызывает RangeError.

endIndex:int (default = 0x7fffffff) — Конечная позиция. Значение меньше 0 вызывает RangeError.



Выдает RangeError — Возвращается, если в списке дочерних элементов отсутствуют позиции beginIndex или endIndex.

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

Регистрация: Oct 2005
Сообщений: 217
Да увидел, спасибо буду знать, что такой метод появился, если забуду буду по старинке писать цикл.

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

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

Может есть функция, которая как бы "перезагружает" swf файл, возвращаясь к первоначальному состоянию?
один раз пришлось воспользоваться таким вариантом, выполнив полную очистку игры до этого метода
Код AS3:
stage.addEventListener(KeyboardEvent.KEY_DOWN, reload);
 
function reload(e:KeyboardEvent):void
{
    if(e.keyCode == Keyboard.SPACE)
    {
        var myLoader:Loader = new Loader(); 
        addChild(myLoader); 
        var url:URLRequest = new URLRequest("mySwf.swf"); 
        myLoader.load(url); 
    }
}
я часто использую вот такой например вариант, может пригодиться...
Код AS3:
for (var n:int = array.length - 1; n >= 0; n--) {
var sprite:Sprite = array[n];
array.splice(n, 1);
if(sprite.parent){					
sprite.parent.removeChild(sprite);
}

Старый 25.10.2013, 04:20
Koopa вне форума Посмотреть профиль Найти все сообщения от Koopa
  № 15  
Ответить с цитированием
Koopa
Banned
[+1 30.08.14]
[+1 26.02.14]

Регистрация: Apr 2012
Сообщений: 162
Цитата:
Сообщение от GrafMine Посмотреть сообщение
я часто использую вот такой например вариант, может пригодиться...
Код AS3:
for (var n:int = array.length - 1; n >= 0; n--) {
var sprite:Sprite = array[n];
array.splice(n, 1);
if(sprite.parent){					
sprite.parent.removeChild(sprite);
}
Етить через коромысло...
Чем вам не угодил:
Код AS3:
for (var i:int=0;i<array.length;i++)
и зачем проверять родителя спрайта? Он есть у него или должен быть ибо зачем спрайт?

Старый 25.10.2013, 05:06
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 16  
Ответить с цитированием
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
@Akopalipsis

По поводу removeChildren()
Предположым Вы делаете игру для игрового портала, который использует свой прелоадер. Это дает возможность владельцам портала крутить проплаченую рекламу во время загрузки игры. Предположим также, что из-за финансовых трудностей в далеком 2006-ом уволился единственный штатный программист (он же автор прелоадера). Следовательно прелоадер был скомпилирован еще под 9-ую версию плеера.
И вот настал тот счасливый день, когда Вы сдаете игру бедолаге-заказчику... На сервер залили, страничку сгенерировали через прелоадер загрузили и...

Потом выяснилось, что DisplayObjectContainer 9-го плеера вообще ничего не знал о removeChildren(), а Ваша игра нафарширована вызовами этого метода.

Само собой я не призываю Вас отказаться от removeChildren(), но обращаю внимание на то, что его (и других свежих фишек) использование может вызвать непонятные последствия.

Старый 25.10.2013, 10:29
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 17  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Для этого надо чтобы у пользователя стоял 9 (10 тоже кстати) плеер. Я не уверен, что такие динозавры еще живут на машинах, особенно у геймеров. Уже вышло ДЕСЯТЬ версий 11-го плеера.
__________________
Reality.getBounds(this);

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

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

Добавлено через 2 минуты
Цитата:
Чем вам не угодил:
Как Вы показали не получится.

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

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

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


 


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


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