我正在尝试创建一个监听变量(int或Number)的脚本,然后执行某些函数,无论变量是高还是低。因此,例如,如果数字越来越高,它将运行一个函数。如果它变低,它会运行另一个。
这可能在AS3中吗?有什么想法吗?
答案 0 :(得分:7)
将私有变量与setter一起使用。在setter中将先前值与当前值进行比较:
private var _num:Number = 0;
public function set num(value:Number) : void {
if (value < _num) {
//do something if it's lower
} else if (value > _num) {
//do something if it's higher
} else {
// do something if it's equal
}
_num = value;
}
答案 1 :(得分:0)
存储int,然后设置要以所需速率触发的事件。在事件侦听器回调中,检查当前int是高于还是低于存储的int,处理您需要的内容并更新存储的int。
可能不是最好的做法。
答案 2 :(得分:0)
如果您无法控制源以便修改setter,则可以使用ChangeWatcher.watch()。