Показать сообщение отдельно
Старый 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.