EDIT
Я удивлен, что приведение типов в виде мувиклипа не удается, но опять же у меня есть только код, который вы здесь видите, чтобы пройти.В соответствии с сообщением об ошибке вы можете сделать это тогда:
var photoLoader:PhotoLoader = PhotoLoader(evt.target.content );
или даже
evt.target.content as PhotoLoader
, что даже лучше, чем приведение к роли MovieClip, поскольку вы можете напрямую получить доступ к свойствам и методамкласс PhotoLoader!
Я не уверен, какова ваша среда, и вы правы, я предположил, что вы хотели получить доступ к классам из класса Main.Явно моя ошибка!Если у вас есть DocumentClasses для каждого SWF, то это делается для того, чтобы ваш код структурировался, вам не нужно событие LocalConnection, у вас может быть класс Singleton, который будет использоваться в качестве FrontController, центральный доступ к свойствам обоих классов.
КОНЕЦ РЕДАКТИРОВАНИЯ
Сначала вы можете преобразовать содержимое вашего загрузчика в MovieClip, например:
var content:MovieClip = MovieClip(evt.target.content);
mainContainer.addChild(content);
evt.target.content должен быть из типа DisplayObject, поэтому выневозможно получить доступ к свойствам ваших видеоклипов.
Если вам нужен доступ к свойствам загруженного SWF-файла, вы должны объявить их следующим образом:
private var photoViewer:MovieClip;
private var photoLoader:MovieClip;
, тогда вы можете сделать:
photoViewer = MovieClip(evt.target.content);
mainContainer.addChild(photoViewer);
photoLoader = MovieClip(evt.target.content);
mainContainer.addChild(photoViewer);
просто дайте имя своему загрузчику, чтобы дифференцировать MovieClips
loaderx.name = "photoLoader";
viewer.name = "photoViewer";
, тогда вы можете сделать это
private function loadingComplete(evt:Event):void
{
switch(event.currentTarget.loader.name)
{
case "photoLoader":
photoLoader = MovieClip(evt.target.content);
mainContainer.addChild(photoLoader);
break;
case "photoViewer":
photoViewer = MovieClip(evt.target.content);
mainContainer.addChild(photoViewer);
break;
}
if( photoViewer!= null && photoLoader!= null )
evt.target.removeEventListener(Event.COMPLETE,loadingComplete);
}
После этого вы сможете получить доступ к вашемуСвойства MovieClips как это
trace( photoLoader.dbFields );
или
var prop:Object = photoViewer.whateverNameYouGaveToYourProperty;