Форум 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=137184)

O.K. 06.03.2010 18:13

Вызвать функцию из загруженной флешки
 
На as3 недавно перешел, подскажите пожалуйста, как можно из загруженного клипа вызвать функцию .
Т.е. я через лоадер гружу снаружи флешку, а в ней кнопка обрабатывается событием клик. И нужно както вызвать функцию в главной флешке.
Ну, к примеру, в as2 можно было создать в _global функцию и вызывать ее отовсюду, а тут как?

Alex Lexcuk 06.03.2010 18:42

Тутор
http://www.murmadillo.tut.su/as3/load-swf-metod.html

O.K. 06.03.2010 19:10

А никак проще? Я просто помню искал чтото натыкался, но теперь разбился просто - найти не могу - там через события както делали

Alex Lexcuk 06.03.2010 19:36

Проще нельзя... Надо все равно делать во флешке, функцию которую надо вызывать, загружать флешку лоадером, отлавливать событие загрузки, а потом вызывать публик метод или функцию загруженной флешки.
Через события сложнее, и ТУПО.

gloomyBrain 06.03.2010 19:52

А куда проще-то?
Вот Вы загрузили лодаером флешку, поймали Event.COMPLETE от лоадера - все, теперь можете обращаться к loader.content и просить его что-то сделать.

PS
Лучше еще кастовать loader.content в объект своего интерфейса. то есть вот так:

Код AS3:

public var cat:ICatInterface;
//...
cat = loader.content as ICatInterface;

Да, практической пользы 0, зато красиво =) И автокомплит работает

O.K. 06.03.2010 20:04

Не, мне то нужно не из внешней флешки функции внутренней, а из внутренней вызывать у внешней функции

gloomyBrain 06.03.2010 23:43

Ой =) ну тогда вот так
Код AS3:

if(this.parent.parent != null){
var parentObj:Object = this.parent.parent as Object;
parentObj.traceMe()
}

Или второй способ - sharedEvents
Для загружаемого:
Код AS3:

this.loaderInfo.sharedEvents.addEventListener(...)

Для загружающего (loader)
Код AS3:

loader.contentLoaderInfo.sharedEvents.addEventListener(...)

Диспатчить событие из загружаемой флешки надо от лица все тех же sharedEvents
Код AS3:

this.loaderInfo.sharedEvents.dispatchEvent(...)


O.K. 07.03.2010 16:07

Спасибо!


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

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