![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 16
|
Есть несколько классов, по мере надобности один обращается к другому и передаёт параметры, возможно ли как то из последнего класса вывести данные в TextField который распологается на сцене, или нужно обязательно вернуть данные в Main?
И если вернуть, то как это лучше делать? пример: package main { import flash.display.MovieClip; public class Main extends MovieClip { //делаем обращение new XMLLoader(); } } package main { public class XMLLoader { //поймали записали //делаем обращение new XMLParser(xml_data); } } package main { public class XMLParser { //произвели парсинг (отделили катлеты от мух) //обратились на выбор из N возможных К new TYPETest(dot, author); } } |
|
|||||
|
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
__________________
#flasher@irc.trg.ru:6667 |
|
|||||
|
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
|
dispatchEvent
|
|
|||||
|
Регистрация: Apr 2010
Сообщений: 16
|
2 Obi
Цитата:
Что я должен передать в targetTextField, чтоб мне был доступ к TextField на сцене? 2 CrazyFlasher Это нужно повесить событие в Main, и ждать его, я правильно понимаю? |
|
|||||
|
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
|
нужно повесить слушателя в Main и потом из TYPETest диспатчить событие, например с bubbles = true
|
|
|||||
|
Регистрация: Apr 2010
Сообщений: 16
|
Не получается диспатчить подскажите что не так делаю.
package main { import flash.display.MovieClip; import flash.events.Event; public class Main extends MovieClip { var dispatch:TYPETest = new TYPETest(); dispatch.addEventListener(TYPETest.ACTION, textOutput); //делаем обращение new XMLLoader(); } public function textOutput(e:Event):void { trace("Принято!"); } } package main { public class XMLLoader { //поймали записали //делаем обращение new XMLParser(xml_data); } } package main { public class XMLParser { //произвели парсинг (отделили катлеты от мух) //обратились на выбор из N возможных К new TYPETest(); //с запросом OutTYPETest(dot, author); } } package main { import flash.text.*; import flash.events.Event; import flash.events.EventDispatcher; public class TYPETest extends EventDispatcher { public static var ACTION:String = "TypeTest"; public function OutTYPETest(dot:String, author:String):void { //сформировали ответ dispatchEvent(new Event(TYPETest.ACTION, true)); //не проходит =( } } } Последний раз редактировалось Евгени4; 27.04.2010 в 00:45. |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Вывод на экран не обязателен, но без addChild пузыри подниматься не будут.
Кстати, у меня вопрос. Этот зоопарк классов просто из любви к ООП? ![]() Может просто заключить эти четыре функции в один класс да и пользоваться его переменными? |
|
|||||
|
Цитата:
проще всего при создании экземпляра TYPETest передать в конструктор ссылку на Main и диспатчить событие напрямую |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 16
|
Цитата:
то всеравно не проходит. Сильно не пинайте, но я пока изучаю AS3. ![]() Цитата:
А можно чуть подробнее, или небольшой пример? |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|