有没有办法检查AS3中的整数是变高还是变低

时间:2010-04-29 01:33:50

标签: flex flash actionscript-3

我正在尝试创建一个监听变量(int或Number)的脚本,然后执行某些函数,无论变量是高还是低。因此,例如,如果数字越来越高,它将运行一个函数。如果它变低,它会运行另一个。

这可能在AS3中吗?有什么想法吗?

3 个答案:

答案 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()。