Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.04.2010, 12:03
Евгени4 вне форума Посмотреть профиль Отправить личное сообщение для Евгени4 Найти все сообщения от Евгени4
  № 1  
Ответить с цитированием
Евгени4

Регистрация: Apr 2010
Сообщений: 16
По умолчанию Как вывести данные из класса в TextField

Есть несколько классов, по мере надобности один обращается к другому и передаёт параметры, возможно ли как то из последнего класса вывести данные в TextField который распологается на сцене, или нужно обязательно вернуть данные в Main?
И если вернуть, то как это лучше делать?

пример:
Код AS3:
package main {
 
	import flash.display.MovieClip;
 
	public class Main extends MovieClip {
		//делаем обращение new XMLLoader();	
	}
 
}
Код AS3:
package main {
 
	public class XMLLoader {
		//поймали записали
		//делаем обращение new XMLParser(xml_data);
	}
 
}
Код AS3:
package main {
 
	public class XMLParser {
		//произвели парсинг (отделили катлеты от мух)
		//обратились на выбор из N возможных К new TYPETest(dot, author);
	}
 
}
Код AS3:
package main {
 
	public class TYPETest {
		//сформировали ответ
		//вывели в "output_txt.text" как сделать????
	}
 
}

Старый 22.04.2010, 12:09
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 2  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Код AS3:
public class TYPETest {
	//сформировали ответ
	//вывели в "output_txt.text" как сделать????
 
        public function typeText(targetTextField:TextField, text:String):void {
             targetTextField.text = text;
        }
}
__________________
#flasher@irc.trg.ru:6667

Старый 22.04.2010, 12:14
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 3  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
dispatchEvent
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 22.04.2010, 12:21
Евгени4 вне форума Посмотреть профиль Отправить личное сообщение для Евгени4 Найти все сообщения от Евгени4
  № 4  
Ответить с цитированием
Евгени4

Регистрация: Apr 2010
Сообщений: 16
2 Obi
Цитата:
Сообщение от Obi Посмотреть сообщение
Код AS3:
public class TYPETest {
	//сформировали ответ
	//вывели в "output_txt.text" как сделать????
 
        public function typeText(targetTextField:TextField, text:String):void {
             targetTextField.text = text;
        }
}
Не совсем понимаю что вы мне этим пытаетесь сказать?
Что я должен передать в targetTextField, чтоб мне был доступ к TextField на сцене?

2 CrazyFlasher
Это нужно повесить событие в Main, и ждать его, я правильно понимаю?

Старый 22.04.2010, 12:34
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 5  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
нужно повесить слушателя в Main и потом из TYPETest диспатчить событие, например с bubbles = true
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 27.04.2010, 00:33
Евгени4 вне форума Посмотреть профиль Отправить личное сообщение для Евгени4 Найти все сообщения от Евгени4
  № 6  
Ответить с цитированием
Евгени4

Регистрация: Apr 2010
Сообщений: 16
Не получается диспатчить подскажите что не так делаю.
Код AS3:
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("Принято!");
	}
 
}
Код AS3:
package main {
 
	public class XMLLoader {
		//поймали записали
		//делаем обращение new XMLParser(xml_data);
	}
 
}
Код AS3:
package main {
 
	public class XMLParser {
		//произвели парсинг (отделили катлеты от мух)
		//обратились на выбор из N возможных К new TYPETest();
		//с запросом OutTYPETest(dot, author);
	}
 
}
Код AS3:
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.
Старый 27.04.2010, 00:47
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 7  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
наскоко я понимаю, пузырьковые события только для экранных объектов, а у вас наследник EventDispatcher-а пытается его слать..
__________________
freelance | Раздор

Старый 27.04.2010, 00:53
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 8  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Вывод на экран не обязателен, но без addChild пузыри подниматься не будут.

Кстати, у меня вопрос.
Этот зоопарк классов просто из любви к ООП?

Может просто заключить эти четыре функции в один класс да и пользоваться его переменными?

Старый 27.04.2010, 01:03
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 9  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Цитата:
Сообщение от mikhailk Посмотреть сообщение
Вывод на экран не обязателен, но без addChild пузыри подниматься не будут.
ну я как бы о том же...
проще всего при создании экземпляра TYPETest передать в конструктор ссылку на Main и диспатчить событие напрямую
__________________
freelance | Раздор

Старый 27.04.2010, 01:08
Евгени4 вне форума Посмотреть профиль Отправить личное сообщение для Евгени4 Найти все сообщения от Евгени4
  № 10  
Ответить с цитированием
Евгени4

Регистрация: Apr 2010
Сообщений: 16
Цитата:
Сообщение от derhab Посмотреть сообщение
наскоко я понимаю, пузырьковые события только для экранных объектов, а у вас наследник EventDispatcher-а пытается его слать..
А если:
Код AS3:
dispatchEvent(new Event(TYPETest.ACTION, false)); //не проходит =(
то всеравно не проходит.
Сильно не пинайте, но я пока изучаю AS3.

Цитата:
Сообщение от mikhailk Посмотреть сообщение
Вывод на экран не обязателен, но без addChild пузыри подниматься не будут.

Кстати, у меня вопрос.
Этот зоопарк классов просто из любви к ООП?

Может просто заключить эти четыре функции в один класс да и пользоваться его переменными?
Нет не из-за любви, а из-за того что код время от времени модифицируется, поэтому в нем проще ориентироваться (да и на будующее ООП будет более полезен), и главное появляются сложности, которые интересно решать (для того они и созданы). Я же в процессе изучения))

Цитата:
Сообщение от derhab Посмотреть сообщение
ну я как бы о том же...
проще всего при создании экземпляра TYPETest передать в конструктор ссылку на Main и диспатчить событие напрямую
А можно чуть подробнее, или небольшой пример?

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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