![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 179
|
Добавил два класса на сцену
Скажите как мне допустим из класса UploadClass обратится к элементу из класса MainClass |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 179
|
А можно поподробнее...
|
|
|||||
|
Регистрация: Feb 2011
Сообщений: 3
|
Взаимно, хотелось бы услышать подробнее. Спасибо
|
|
|||||
|
Регистрация: Jan 2006
Сообщений: 179
|
что-то ни у кого совсем нет идей?
|
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Я думаю большинству лень расписывать основы просто. К тому же у вас достаточно странный код, и скорей всего у вас появится ещё масса вопросов, даже если вам помогут. В книжечки то не побывали заглядывать? Или поиском воспользоватся.
Хотя ещё воскресенье, если лень искать и читать книги, то в понедельник точно кто нибудь ответит. |
|
|||||
|
loaderInfo.sharedEvents где-то на форуме уже мелькало - это общая шина событий для всех загруженных флешек. Внутри классов можно в нее события кидать и на нее подписываться
Хотя... Здесь, может быть, политика позволит передавать события тупо через stage или через parent - он у них общий. Но с событиями не очень удобно данные получать - можно динамически через общего родителя main и upload общаться: public class Main { ... parent["parentValue"] = 10; public class Uploaded { parent.addEventListener(Event.CHANGE, onParentChange); ... function onParentChange(e:Event) { trace (parent["parentValue"]); } Но можно использовать интерфейсы и приводить к ним Должны быть и другие способы Последний раз редактировалось expl; 21.02.2011 в 01:49. |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 179
|
Могу более подробно описать проблему:
мувик в нем прописан класс com.Preloader, собственно все остальное разнесено по классам ... package com { import flash.display.MovieClip; import flash.events.Event; import flash.events.ProgressEvent; public class Preloader extends MovieClip { private static const ENTRY_FRAME : int = 3; public function Preloader() : void { super(); stop(); loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); loaderInfo.addEventListener(Event.COMPLETE, completeHandler); } private function completeHandler(event : Event) : void { play(); addEventListener(Event.ENTER_FRAME, enterFrameHandler); } private function progressHandler(event : ProgressEvent) : void { var loaded:uint = event.bytesLoaded; var total:uint = event.bytesTotal; var percentLoaded:Number = Math.round((loaded/total) * 100); animation.gotoAndStop(percentLoaded); } private function enterFrameHandler(event : Event) : void { if (currentFrame >= ENTRY_FRAME) { removeEventListener(Event.ENTER_FRAME, enterFrameHandler); stop(); var main : Class = loaderInfo.applicationDomain.getDefinition("MainClass") as Class; addChild(new main()); var upload : Class = loaderInfo.applicationDomain.getDefinition("UploadClass") as Class; addChild(new upload()); } } } } Примерные структуры классов package com { public class MainClass extends Sprite { public function MainClass() { super(); addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); } private function onAddedToStage(event:Event):void { ////// собственно тут добавляю элементы на сцену } } } Задача такая, обращаться к мувикам из mainClass и так же что не мало важно, обращаться к переменным, т.е получать данные из mainClass и принимать их в uploadClass Конечно я могу эти классы совместить, но получится совсем "каша" хотелось по логике разнести эти два класса Добавлено через 21 минуту Хотя по сути классы main и upload у меня равноправны Последний раз редактировалось motoroller; 21.02.2011 в 01:54. |
|
|||||
|
Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
|
Значит, Вы хотите обращаться откуда угодно к чему угодно. Это противоречит принципам "нормального" проектирования.
В MainClass пускайте событие, ловите его в Preloader (он будет контроллером), и в обработчике решайте, что нужно сделать в UploadClass по этому событию.
__________________
Griver |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 179
|
Нет вообщем, я не хочу откуда куда угодно ... вообщем у меня в upload^
1) должен быть доступ к некоторым переменным из mainClass 2) Доступ к некоторым textField Добавлено через 31 секунду А вот с событиями можно, примерчик ... хотя бы просто на переменную ... |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|