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

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

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

Регистрация: Nov 2006
Сообщений: 253
Сайлас, спасибо большое, но я еще в AS3 новичок, не сумею к сожалению воспользоваться вашим трудом.(разве что обьяснить )
Как мне советовали загнал в массивы данные по scaleY и имени мувика, посортировал его, но почему-то слои установить не выходит

Код:
rec_array.sortOn(["xik", "name1"], Array.DESCENDING|Array.NUMERIC );
				for(i=0; i<rec_array.length; i++){
				thumb=rec_array[i].name1;
				
				trace("Before:  "+rec_array[i].dep);
				allpicholder.setChildIndex(thumb, rec_array[i].dep-1);
                                            //allpicholder содержит все мувики, которые нужно посортировать
				trace("After: "+allpicholder.getChildIndex(thumb)); 

		// индекс мувиков до и после setChildIndex одинаковый		
				}
Вроде же правильно написал, ошибок не выдает и не работает.
__________________
Living with the smile

Старый 27.05.2008, 15:33
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 12  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
для контейнера, содержащего ТОЛЬКО объекты, подлежащие сортировке, можно просто удалить всех, а потом поставить в новом порядке:
Код:
private function sortChilds():void
{
	
	var indxArr:Array = [];
	var len:int = numChildren;

	while (numChildren > 0)
	{
		var child:DisplayObject = getChildAt(0);
		indxArr.push({ child:child, z: zOrder(child)});//zOrder - метод, возвращающий критерий глубины (scaleY, например)
		removeChild(child);
	}
	
	indxArr.sortOn("z", Array.NUMERIC | Array.DESCENDING );
	for (var i:int = 0; i < len; i++) 
	{
		addChild(indxArr[i].f);
	}
	
}

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

Регистрация: Mar 2008
Сообщений: 259
Удалять плохо - будет веселое перемигивание

allpicholder отнаследуйте от MovieClip или Sprite и добавьте мои методы, раз это контейнер всех необходимых объектов. Не надо будет привязываться ни к имени, ни к scaleX, сами будете задавать зОрдер, хоть рандомом, хоть как.

Старый 27.05.2008, 17:12
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 14  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>будет веселое перемигивание
не будет: изображение выводится один раз, после выполнения кода

ps пример где это реально работает (правда под 10й плеер)


Последний раз редактировалось silin; 27.05.2008 в 17:15.
Старый 27.05.2008, 17:14
Сайлас вне форума Посмотреть профиль Отправить личное сообщение для Сайлас Найти все сообщения от Сайлас
  № 15  
Ответить с цитированием
Сайлас

Регистрация: Mar 2008
Сообщений: 259
А если придется еще раз удалить и добавить или в зОрдере что-то поменять?

Старый 27.05.2008, 17:16
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 16  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
а если придется, то будем удалять и менять
сори, не понял вопроса

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

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

Старый 27.05.2008, 18:12
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 18  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
не понял опять, показать можешь?
впрочем не важно: если постараться, то можно и браузер уронить..

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

Регистрация: Mar 2008
Сообщений: 259
Ну смотри, если по циклу сделать removeChild, а потом делать addChild, то будет небольшое мигание... По крайней мере у меня так происходит

Старый 27.05.2008, 19:28
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 20  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
а если по циклу сделать x++, то ты увидишь как объект плавно перемещается ?
не хочу спорить, но нет у меня мигания, да и не должно его быть, имхо

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

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

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


 


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


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