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

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

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

Регистрация: Jan 2012
Сообщений: 26
Насчет изменений дисплей листа меня не уведомили, но завтра на месте спрошу. Думаю смысл задачи вернуть хотя-бы первый попавшийся объект с заданным именем, без использования РЕКУРСИИ. Буду благодарен за любые варианты решений!)

Добавлено через 1 час 5 минут
Ув. Stitch512, у меня пару вопросов по исходнику, который не рекурсивный.

Код AS3:
public static function searchByNameDO(owner: DisplayObjectContainer, name: String): DisplayObject
{
	var stackContainers:Vector.<DisplayObjectContainer> = new Vector.<DisplayObjectContainer>();
	var stackIdx:Vector.<int> = new Vector.<int>();
 
	var currContainer:DisplayObjectContainer = owner;
	var idx:int = 0;
 
	while (currContainer != null)
	{
		var result:DisplayObject = currContainer.getChildByName(name);
		if (result != null)
			return null;//ЗДЕСЬ return result; ???
 
		while (idx < currContainer.numChildren)
		{
			var container:DisplayObjectContainer = currContainer.getChildAt(i)  as DisplayObjectContainer;
                        //ЗДЕСЬ вместо i - idx или просто наращивать i ниже? 
			if (container != null)
			{
				stackContainers.push(currContainer); 
				stackIdx.push(idx);
 
				currContainer = container;
				idx = 0;
 
				break;
			}
 
		        idx++;
	       }
 
               currContainer = stackContainers.pop();//Что здесь происходит?
               idx = stackIdx.pop();//Что здесь происходит?
        }
        return null;
}
Заранее благодарен за ответ!)


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

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

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


 


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


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