Мне кажется, я понимаю, что вы ищете, и я написал небольшую функцию, которая выполняет это. Это довольно уродливо, но должно сработать.
function getChildFromPath(base:DisplayObjectContainer, path:String):DisplayObject
{
var pathAsArr:Array = path.split(".");
if (pathAsArr.length)
{
var newBase:DisplayObjectContainer = base.getChildByName(pathAsArr.shift() as String) as DisplayObjectContainer;
if (newBase)
return getChildFromPath(newBase, pathAsArr.join("."));
else
return null;
}
return base;
}
Вы даете ему начальное местоположение пути для поиска (это или этап, в зависимости от того, где вы заканчиваете, вы сверляете для пути) и путь в строке.
Так, например, предположим, что у меня есть mc с именем "a" на этом, а внутри "a" есть mc с именем "b", вы не можете получить его с этим ["ab"], а скорее с этим [ "а"] [ "б"].
Используя эту функцию, вы можете сделать:
var path:String = "a.b";
var mc:DisplayObject = getChildFromPath(this, path);
Я не проверял это со слишком большим количеством типов входов, поэтому я не уверен, что в некоторых обстоятельствах он не будет прерываться или зацикливаться.