Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Выполнение функции при нажатии кнопки в загруженном файле (http://www.flasher.ru/forum/showthread.php?t=202259)

tooth212 05.07.2013 18:34

Выполнение функции при нажатии кнопки в загруженном файле
 
Добрый день. Возникла проблема при выполнении функции при нажатии кнопки в загруженном swf из главного swf.
код главного swf:
Код AS3:

import fl.display.ProLoader;
 
var fl_ProLoader:ProLoader;
function fl_ClickToLoadUnloadSWF():void
{
 
        fl_ProLoader = new ProLoader();
        fl_ProLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fl_CompleteHandler1);
        fl_ProLoader.load(new URLRequest("dog.swf"));
 
}
fl_ClickToLoadUnloadSWF();
function fl_CompleteHandler1(Event):void
{
        load_g.addChild(fl_ProLoader);
        load_g.fl_ProLoader.but.addEventListener(MouseEvent.CLICK, func);
}
function func(Event:MouseEvent):void
{
        trace("нажата кнопка");
}

Выдается ошибка:
Код:

TypeError: Error #1010: Термин не определен и не имеет свойств.
        at _fla::MainTimeline/fl_CompleteHandler1()
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at fl.display::ProLoaderInfo/handleLoaderInfoEvent()

Кнопка but находится в загруженном swf.

chamele0n 05.07.2013 18:40

?
Код AS3:

load_g.fl_ProLoader.content.but.addEventListener(MouseEvent.CLICK, func);


tooth212 05.07.2013 18:48

Цитата:

Сообщение от chamele0n (Сообщение 1140378)
?
Код AS3:

load_g.fl_ProLoader.content.but.addEventListener(MouseEvent.CLICK, func);


Ошибка осталась.

chamele0n 05.07.2013 18:58

что выводит контент ?
Код AS3:

function fl_CompleteHandler1(e:Event) : void {
        addChild(fl_ProLoader);
        trace(fl_ProLoader.content);
}

ох недосмотрел ))

Код AS3:

fl_ProLoader.content.but.addEventListener(MouseEvent.CLICK, func);


tooth212 05.07.2013 19:51

Выводит: [object MainTimeline]

belv 05.07.2013 20:47

Вот так работает
Код AS3:

import fl.display.ProLoader;
import flash.events.Event;
import flash.display.MovieClip;
var mc:MovieClip;
var fl_ProLoader:ProLoader;
function fl_ClickToLoadUnloadSWF():void
{
 
        fl_ProLoader = new ProLoader();
        fl_ProLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fl_CompleteHandler1);
        fl_ProLoader.load(new URLRequest("dog.swf"));
 
}
fl_ClickToLoadUnloadSWF();
function fl_CompleteHandler1(e:Event):void
{
        mc = e.target.content as MovieClip;
        load_g.addChild(mc);
        mc.but.addEventListener(MouseEvent.CLICK, func);
}
 
function func(Event:MouseEvent):void
{
        trace("нажата кнопка");
}


tooth212 05.07.2013 21:58

Большое спасибо, работает!


Часовой пояс GMT +4, время: 02:14.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.