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

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

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

Регистрация: Dec 2009
Сообщений: 58
По умолчанию создание событий для собственных объектов

Доброй ночи.
Есть класс, есть объект.
Хочу чтобы этот объект генерировал событие
а объекты других классов его слушали и обрабатывали.

Много читал по этой теме, но целостной картины так и не сложилось.

П.С. по ходу возникли 2 вопроса:
1. а как ещё кроме событий организовать связь между объектами вида: изменилось свойство в одном объекте - изменяются свойства (или выполняются методы) в других объектах (других классов)
2. не проще ли использовать AS 3.0? я посчитал его солжным для своего проекта, но уже начал задумываться...

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
1. Можно с помощью метода watch() Чтобы прекратить наблюдение за свойством, используйте метод unwatch()
2. Я бы даже сказал давно пора

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

Регистрация: Dec 2009
Сообщений: 58
получается термин "события" и AS 2.0 не совместимы?

я читал в ActionScript 2.0: библия программиста
там есть пример создания события, но в книге сказано что события могут генерировать только стандартные объекты.

Для ясности немного кода:
Код AS1/AS2:
class modules.Blocks.IT45 {
	//свойство: подано ли питание на блок
	private var power = false;	//по умолчанию выключен
 
	//включить/выключить
	public function turnOnOff() {
		power = !power;
	}
 
	//проверка подачи питания
	public function isPowerOn():Boolean {
		return power;
	}
}
Код AS1/AS2:
var _it45:IT45 = new IT45();	//создаем объект блока ИТ-45
 
	ASBroadcaster.initialize(_it45);
 
	//кнопка "БС.ВКЛ"
	var IT45_TMB_V_power:Tumbler_vert = new Tumbler_vert(_root.blk_it45.power_tumb);
	IT45_TMB_V_power._mc.onRelease = function() 
	{ 
		//логика работы тумблера
		//включаем/выключаем ИТ-45
		_it45.turnOnOff();
		IT45_TMB_V_power.switchTumbler();
		broadcastMessage("IT45_power_switch", power);
	}
обработчик
Код AS1/AS2:
//создаем слушателя события "IT45_power_switch"
	IT45_TMB_V_podsvet_shkaly.IT45_power_switch = function()
	{
		trace("IT45_power_switch"+arguments);
	}
когда пытаюсь повесить обработчика
Код AS1/AS2:
_it45.addListener(IT45_TMB_V_podsvet_shkaly);
пишет что
Код AS1/AS2:
There is no method with the name 'addListener'.
тоже самое на addEventListener

Добавлено через 3 минуты
Я понимаю что код не верен, не правильно применен broadcastMessage
но не могу понять как должна выглядеть правильная структура генерации и прослушивания события

Добавлено через 4 минуты
Есть ли смысл в проекте в котором нет необходимости генерировать графику, использовать сложные компоненты и т.д. использовать AS 3.0

ведь зачем использовать мощьный инструмент если мощьности AS 2.0 должно хватить?

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

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

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


 


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


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