![]() |
|
||||||||||
|
|||||
|
listener
|
ммм.. т.е. слежение происходит в set() -методе? навроде того, что когда делается попытка присвоить переменной(свойству) новое значение, то попытка перехватывается внутри этого метода и вызывается функция - реакция. да?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А проверить?
|
|
|||||
|
Регистрация: Sep 2006
Сообщений: 256
|
Цитата:
__________________
:emocry: |
|
|||||
|
listener
|
да, я понял. но вопрос как раз в том как это изменение можно засечь.
вещание об изменении - это уже реакция. по 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;
}
}
то увидим трэйс это все не новость, так просто, для тех кому мож. интересно. |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:03. |
|
|
« Предыдущая тема | Следующая тема » |
|
|