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

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

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

Регистрация: Sep 2010
Сообщений: 28
По умолчанию Слушатель изменения переменной

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

нужно написать слушатель, но вот какой..

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

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Что значит "слушатель"?
Вы хотите мониторить момент изменения переменной? Делаете класс, наследуя его от EventDispatcher, в нем делаете свою переменную. Делаете методы get и set для переменной. В гетере-сетере вызываете dispatchEvent. В любом другом месте мониторите изменение, организоывая прослушку через addEventListener.
__________________
interplanety

Старый 15.12.2012, 21:52
Koby вне форума Посмотреть профиль Отправить личное сообщение для Koby Найти все сообщения от Koby
  № 3  
Ответить с цитированием
Koby

Регистрация: Sep 2010
Сообщений: 28
у меня необходимая переменная в классе который уже наследует Sprite, одновременно Sprite и EventDispatcher. Можно какой нибудь пример для разбора?

Старый 15.12.2012, 22:18
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 4  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Код AS3:
package
{
	import flash.display.Sprite;
	import flash.events.Event;
 
	public class MyDispatcher extends Sprite
	{
		private var _someVar:int;
 
		public function MyDispaycher()
		{
			super();
		}
 
		public function set someVar(value:int):void
		{
			this._someVar = value;
			super.dispatchEvent(new Event(Event.CHANGE));
		}
 
		public function get someVar():int
		{
			return this._someVar;
		}
	}
}
Код AS3:
package
{
	import flash.events.Event;
 
	public class MyListener
	{
		private var _myDispatcher:MyDispatcher;
 
		public function MyListener()
		{
			this._myDispatcher = new MyDispatcher();
			this._myDispatcher.addEventListener(Event.CHANGE, onChange);
			// ну и для проверочки
			this._myDispatcher.someVar = 123;
		}
 
		private function onChange(event:Event):void
		{
			trace("ЭЭЭ!! Э! А НУ ЧО ТАМ: " + this._myDispatcher.someVar); // 123?
		}
	}
}
__________________
Поймай яблоко 2!


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

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

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


 


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


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