Показать сообщение отдельно
Старый 16.05.2016, 21:24
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 7  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Все, вопрос решен)
Код AS3:
/**
 * рекурсивно возвращает из всего списка дисплей объектов тот, 
 * у которого tutorID соответствует нужному
 * @param	container корневой контейнер для поиска
 * @param	tutorID нужный идентификатор
 * @return
 */
private static function getITutorByID(container:DisplayObjectContainer, tutorID:String):ITutor {
 
	var numChildren:int = container.numChildren;
	if (container is ITutor) {
		var iTutor:ITutor = container as ITutor;
		if (iTutor.tutorID == tutorID) return iTutor;
	}
	for (var i:int = 0; i < numChildren; i++) {
		var child:DisplayObject = container.getChildAt(i) as DisplayObject;
		if (child is DisplayObjectContainer) {
			iTutor = getITutorByID(child as DisplayObjectContainer, tutorID);
			if (iTutor) return iTutor;
		} else {
			if (child is ITutor) {
				iTutor = child as ITutor;
				if (iTutor.tutorID == tutorID) return iTutor;
			}
		}
	}
	return null;
}
на сколько он кривой посмотрю завтра) На сегодня работает, и могу теперь спокойно лечь спать
__________________
Ко мне можно и нужно обращаться на ты)