Это может быть простой вопрос, но я пытаюсь получить доступ к кнопке внутри внешнего swf-файла, который я загрузил. Проблема в том, что каждый раз, когда я пытаюсь получить доступ к этой кнопке, я получаю сообщение об ошибке, указывающее на то, что оно равно нулю!Доступ к кнопке внутри загруженного SWF-файла?
Любые идеи, почему это происходит? Я попытался найти для подобных сообщений, и я нашел некоторые, но эта проблема все еще сохраняется
Вот мой код:
public class DocumentClass extends Sprite
{
public var loader:Loader;
public var swfFile:URLRequest;
public var container:MovieClip;
public function DocumentClass()
{
super();
// support autoOrients
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
loader = new Loader();
swfFile = new URLRequest("swfs/TestScreen.swf");
loader.load(swfFile);
addChild(loader);
button.addEventListener(MouseEvent.CLICK, onClickReturnMainMenu); // PROBLEM HERE
}
private function onClickReturnMainMenu(event:MouseEvent):void
{
trace("TEST-TEST");
}
Спасибо = D
EDIT: здесь отредактированный код
public class DocumentClass extends Sprite
{
public var loader:Loader;
public var swfFile:URLRequest;
public var container:MovieClip;
public function DocumentClass()
{
super();
// support autoOrients
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
loader = new Loader();
swfFile = new URLRequest("swfs/TestScreen.swf");
loader.load(swfFile);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
}
private function onClickReturnMainMenu(event:MouseEvent):void
{
trace("ASDSADSADSAD");
//dispatchEvent(new ButtonEvent(ButtonEvent.MAINMENU));
}
private function onLoadComplete(evt:Event):void
{
addChild(loader);
var button:SimpleButton = loader.content.button
button.addEventListener(MouseEvent.CLICK, onClickReturnMainMenu);
}
Теперь это должно работать, по коду я думаю, что это правильно. Проблема в том, что загрузчик не может найти нужную кнопку. В загруженном movieClip действительно есть кнопка с именем экземпляра «button», я дважды проверил, что ... Любые предложения?
EDIT2, наконец, получил это работает благодаря этому http://www.kirupa.com/forum/showthread.php?301313-Accessing-MC-instances-inside-loaded-SWF в основном я был просто слой слишком высоко, и поэтому я ничего не мог получить доступ к ... ТАК STUPID МЕНЯ ... ну по крайней мере в настоящее время кончено. Спасибо за помощь, ребята = D
Не работает. Но я думаю, что проблема связана с моим загруженным SWF, а не с самим кодом. Не знаю, почему, но «кнопка» не найдена в содержимом загрузчика. Я убедился, что имя экземпляра действительно «кнопка», но оно все еще не может его найти. Любые идеи, почему? Возможно, я экспортирую swf-файл неправильно, использую flash pro для экспорта movieClip, который содержит экземпляр кнопки с именем «кнопка». Я что-то упустил? – r3x