Доступ к вложенным мувиклипам во флэш-файле
У меня есть приложение, созданное в Flash Builder 4, которое загружает SWF-файлы флэш-файлов, и я хочу получить доступ к видеоклипам в этих флэш-файлах. Я могу получить доступ к видеоклипам верхнего уровня, используя:
var assetName:String = "example_mc";
this._graphics[assetName].addChild(this._customText);
Однако, когда я хочу получить доступ к вложенным видеоклипам, у меня ничего не получается, я попробовал:
var assetName:String = "example_mc";
var assetName2:String = "example2_mc";
this._graphics[assetName][assetName2].addChild(this._customText);
и я попробовал:
MovieClip(DisplayObjectContainer(this._graphics.getChildByName(assetName)).getChildByName(assetName2)).addChild(this._customText);
Кроме того, я попробовал варианты квадратных скобок и getChildByName, но все равно безуспешно.
Все мувиклипы создаются в 1-м кадре файлов Flash, есть идеи?
Редактировать **
Я забыл настроить свою обработку ошибок так, чтобы была показана ошибка, плюс все мои тесты, где не показывался текст, ближе к вечеру в понедельник не мой самый яркий час!;) Я решил это в конце концов, решение было либо (как указано выше):MovieClip(DisplayObjectContainer(this._graphics.getChildByName(assetName)).getChildByName(assetName2)).addChild(this._customText);
Или же:
MovieClip(DisplayObjectContainer(this._graphics.getChildByName(assetName))[assetName2]).addChild(this._customText);
Надеюсь, это может помочь кому-то еще.
Спасибо
Крис
1 ответ
Убедитесь, что ваш флэш-файл загружен и инициализирован, прежде чем пытаться получить доступ к дочерним видеоклипам, прослушивая событие Event.COMPLETE или Event.INIT.
Пример: myLoader.contentLoaderInfo.addEventListener(Event.INIT, onComplete);
Вы также можете ссылаться на все проще, просто набрав this._graphics.example_mc.example2_mc.addChild(this._customText);