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

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

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
а еще лучше будет
Код AS3:
 
var sprite_1:Sprite;
var sprite_2:Sprite;
 
var arr:Vector.<Sprite> = new <Sprite>
	[	sprite_1,
		sprite_2
	];
 
for each(var sprRef:Sprite in arr) {
	while (sprRef.numChildren) {
		sprRef.removeChildAt(0);
	}
}
__________________
return this...

Старый 08.06.2015, 18:20
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 12  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
А чем лучше такой вариант?)

Старый 08.06.2015, 18:34
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 13  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
используется плотный массив, что работает на порядок быстрее чем обычный Array, да и память экономит ( но есть свои и минуса, строгая стандартизация )
Код AS3:
var arr:Vector.<Sprite>
+ не создаються дополнительные переменные (i,j), а так же обращения идут по прямой ссылке sprRef -> sprRef.removeChildAt(0)
Код AS3:
sprRef.removeChildAt(0)
, вместо arr -> i -> arr[i] -> arr[i].name -> [arr[i].name].removeChildAt(0)
Код AS3:
[arr[i].name].removeChildAt(0);
Добавлено через 5 минут
+ нет операций икрементов индекса

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

Добавлено через 16 минут
да и читается проще
__________________
return this...


Последний раз редактировалось AlexCooper; 08.06.2015 в 18:48.
Старый 08.06.2015, 19:01
meiciuc вне форума Посмотреть профиль Отправить личное сообщение для meiciuc Найти все сообщения от meiciuc
  № 14  
Ответить с цитированием
meiciuc

Регистрация: Nov 2005
Сообщений: 149
я пытаюсь указать но то, что, возможно, в самом представленном коде ошибка

(1) в коде - trace(numChildren); // 0

(2) при этом дети удаляются из [arr[i].name]

а ведь (1) != (2) Потому и трэйсы trace(numChildren) и trace(sprite_1.numChildren) отличаются - они отображаются число детей в РАЗНЫХ контейнерах

Старый 08.06.2015, 19:13
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 15  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
Цитата:
Сообщение от meiciuc Посмотреть сообщение
я пытаюсь указать но то, что, возможно, в самом представленном коде ошибка

(1) в коде - trace(numChildren); // 0

(2) при этом дети удаляются из [arr[i].name]

а ведь (1) != (2) Потому и трэйсы trace(numChildren) и trace(sprite_1.numChildren) отличаются - они отображаются число детей в РАЗНЫХ контейнерах
Я просто писал код здесь, а не копипастил со своего скрипта, поэтому конечно в процессе мог немного недописать) Но суть остается та же)
AlexCooper
Спасибо. Попробую пожалуй)

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

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

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


 


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


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