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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.08.2009, 04:58
loover вне форума Посмотреть профиль Отправить личное сообщение для loover Найти все сообщения от loover
  № 1  
Ответить с цитированием
loover
 
Аватар для loover

Регистрация: Mar 2009
Сообщений: 357
По умолчанию отслеживание изменения переменной в другом классе

как? пробовал при помощи set/get, но получилось лишь при изменении переменной в классе, содержащем set/get (в основном классе документа).

Старый 14.08.2009, 07:40
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Один из двух может подписаться на события другого.

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

Регистрация: Mar 2009
Сообщений: 357
etc, можно подробнее?

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

Регистрация: Jan 2009
Сообщений: 1,651
другой класс, должен в сеттере переменной генерировать событие. Основной класс подписывается на это событие.

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

Регистрация: Mar 2009
Сообщений: 357
iflamberg, можно пример кода или ссылку? никак не могу подружиться с геттерами.

еще такой вопрос. в осноыном классе есть экземпляр другого класса, а в другом классе - экземпляр третьего. третийкласс генерирует событие. можно ли в основном классе его слушать не создавая экземпляр этого класса? или нужно создавать цепочку событий/листенеров?

как лучше передавать классу мувиклип с вложенными клипами если планируется обращение лишь к вложенным клипам? ссылкой на него или ссылками на его детей?


Последний раз редактировалось loover; 14.08.2009 в 20:56.
Старый 14.08.2009, 22:36
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 6  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
Цитата:
можно пример кода
Код AS3:
public class A extends EventDispatcher
{
	private var _prop:int;
	public function get prop():int
	{
		return _prop;
	}
	public function set prop(value:int):int
	{
		_prop = value;
		dispathEvent(new Event(Event.CHANGED));
	}
}
 
public class B
{
	private var _a:A;
 
	private function aChangedHandler(event:Event):void
	{
		trace("Свойство _a.prop изменилось");
	}
 
	public function B(a)
	{
		_a = a
		if (_a)
		{
			_a.addEventListener(Event.CHANGED, aChangedHandler);
		}
	}
}
может где-то опечатался. писал в блокноте
Цитата:
еще такой вопрос
second.third.addEventListener......
__________________
я могу стать всем, если только захочу

Старый 14.08.2009, 23:56
loover вне форума Посмотреть профиль Отправить личное сообщение для loover Найти все сообщения от loover
  № 7  
Ответить с цитированием
loover
 
Аватар для loover

Регистрация: Mar 2009
Сообщений: 357
Felicast, спасибо, разобрался.

поторопился с ответом ). т.е. public function B() обязательно должна иметь а параметрах (скобках) класс а?

как сделать, чтобы измменение переменной в другом классе рагистрировалось лишь в определенный момент? если лишь тогда добавить листенер, то, если событие уже произошло, это ни кчему не приведет. а при добавлении листенера в конструкторе класса функция листенера сработает слишком рано. получается, прийдется запускать таймер?


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

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

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


 


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


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