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

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

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

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
ммм.. т.е. слежение происходит в set() -методе? навроде того, что когда делается попытка присвоить переменной(свойству) новое значение, то попытка перехватывается внутри этого метода и вызывается функция - реакция. да?

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

Регистрация: Sep 2002
Сообщений: 30,787
А проверить?

Старый 07.11.2007, 09:40
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 13  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
ок

Старый 07.11.2007, 11:03
lowka вне форума Посмотреть профиль Отправить личное сообщение для lowka Найти все сообщения от lowka
  № 14  
Ответить с цитированием
lowka

Регистрация: Sep 2006
Сообщений: 256
Цитата:
Сообщение от alexcon314
есть ли еще способы?
Есть еще 4 способ - организация через вещание событий (при изменении состояния объект вещает некое событие).
__________________
:emocry:

Старый 07.11.2007, 13:19
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 15  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
да, я понял. но вопрос как раз в том как это изменение можно засечь.
вещание об изменении - это уже реакция.
по watch мне удалось узнать пока только то, что он работает примерно так же как addProperty. Т.е. ни чего общего с ентерфреймом и сетинтервалом не имеет. а следовательно не ест ресурсы. что каксается getter/setter то не работает он с ними только напрямую.
Код:
class ObjWatch {
	private var _x:Number;
	public var _xW:Number;
	private var _y:Number;
	public var _yW:Number;
	public function ObjWatch() {
		_xW = _x = 10;
		_yW = _y = 10;
		this.watch("_xW", this.xyWatcher);
		this.watch("_yW", this.xyWatcher);
	}
	private function xyWatcher(prop, oldVal, newVal, numLimit) {
		trace("old " + prop + " = " + oldVal + " new " + prop + " = " + newVal);
		return newVal;// return newVal должен быть бязательно  для корректной работы
	}
	public function set xW(val:Number) {
		_xW = _x = val;
	}
	public function get xW():Number {
		return _x;
	}
	public function set yW(val:Number) {
		_yW = _y = val;
	}
	public function get yW():Number {
		return _y;
	}
}
Если мувик связать с этим классом, вытащить его на сцену и в первом кадре поместить
Код:
// o-имя экземпляра мувика, xW, yW - аналог _x, _y координат мувика.
o.xW = 100;
o.yW = 100;
то увидим трэйс
Код:
old _xW = 10 new  _xW = 100
old _yW = 10 new  _yW = 100
это все не новость, так просто, для тех кому мож. интересно.

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

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

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


 


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


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