![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 46
|
Задача: есть одна флэшка.
внутри неё я загружаю другую как-то. Как мне при загрузке передать какие-то параметры внутрь? Пробовал через адрес флэшки (т.е. get-методом), но что-то не вышло. |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 46
|
var myLoader:Loader = new Loader(); myLoader.load(new URLRequest("01.swf?name1=text")); myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded); function onLoaded(e) { //myLoader.content.param.mmm = 100; addChild(myLoader); } Последний раз редактировалось konst06; 03.09.2009 в 03:04. |
|
|||||
|
[+1 16.08.10]
Регистрация: Jun 2009
Сообщений: 93
|
я однажды такое делал. во внутренней swf в первомже фрейме напиши функцию
во внешней |
|
|||||
|
Modus ponens
|
1. stage не доступен в загруженом SWF до того, как вы добавите его в дисплей лист.
2. Даже после того, как вы добавите его в дисплей лист, он будет указывать на stage загрузившей его SWF. Так что вам в любом случае надо ссылаться на root. Опять же, root не доступен, пока загруженый SWF не добавится в дисплей лист. Кроме всего прочего, parameters - это динамический объект, так что использовать [] совсем не обязательно - можно и
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 46
|
2veisss:
Если не секрет, то куда ещё можно записать этот код в дочернем мувике? А то не хочется в кадр его кидать. |
|
|||||
|
[+1 16.08.10]
Регистрация: Jun 2009
Сообщений: 93
|
сама загруженная SWF является екземпляром Document Class-а того SWF.
то есть из внешней SWF мы можем вызвать паблик функции Document Class-а. вот Document Class главного SWF package{ import flash.display.*; import flash.events.*; import flash.net.*; public class MainFL extends MovieClip{ private var url:String = "loadedFL.swf"; public function MainFL(){ var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); var request:URLRequest = new URLRequest(url); loader.load(request); loader.x=0; loader.y=0; } private function completeHandler(event:Event):void { MovieClip(event.target.content).setText("dddddddddddddd") trace("mainFL: loadCmplete"); addChild(MovieClip(event.target.content)); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler: bytesLoaded=" + event.bytesLoaded); } } } а ето Document Class загружаемого SWF package{ import flash.display.*; import flash.events.*; import flash.geom.*; public class LoadedFL extends MovieClip{ private var texH:TextHolder; public function LoadedFL(){ texH=new TextHolder; addChild(texH); texH.x=100; texH.y=100; } public function setText(txt:String="default"):void{ texH.txt.text=txt; } } } |
|
|||||
|
2veisss
вы это проверяли? вообще правильнее использовать интерфейсы в этом случае
__________________
я могу стать всем, если только захочу |
|
|||||
|
[+1 16.08.10]
Регистрация: Jun 2009
Сообщений: 93
|
проверял, работает.
а чем плох прямой вызов? |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|