runxinzhi.com
首页
百度搜索
監聽一個變量的值變化
Code
package system
{
import flash.utils.Proxy;
import flash.utils.flash_proxy;
public
dynamic
class
WO extends Proxy
{;
private
var _obj:
*
;
private
var _watchHashTable:Object;
/**/
/*
*Constructor WO
*
* @param obj:* 对象
*
*
*/
public
function WO(obj:
*
)
{
_watchHashTable
=
{}
;
_obj
=
obj;
}
/**/
/*
*Public function watch
*
* @param prop:String 属性
* @param callBackFunc:Function 回调函数
* @param arg:*=null 可选参数
*
*
*/
public
function watch(prop:String,callBackFunc:Function,arg:
*=
null
):
void
{
_watchHashTable[prop]
=
{}
;
_watchHashTable[prop].prop
=
prop;
_watchHashTable[prop].oldV
=
flash_proxy::getProperty(prop);
_watchHashTable[prop].newV
=
null
;
_watchHashTable[prop].callBackFunc
=
callBackFunc;
_watchHashTable[prop].arg
=
arg;
}
override
flash_proxy function callProperty(methodName:
*
,
args):
*
{
return
_obj[methodName].apply(_obj,args);
}
override
flash_proxy function getProperty(name:
*
):
*
{
//
trace("getProperty");
return
_obj[name];
}
override
flash_proxy function setProperty(name:
*
, value:
*
):
void
{
//
trace("setProperty");
if
(_watchHashTable[name]
!=
undefined
&&
value
!=
_watchHashTable[name].oldV)
{
_watchHashTable[name].newV
=
value;
_watchHashTable[name].oldV
=
_watchHashTable[name].callBackFunc.apply(
null
,[_watchHashTable[name].prop,_watchHashTable[name].oldV,_watchHashTable[name].newV,_watchHashTable[name].arg]);
}
_obj[name]
=
value;
}
}
}
例子:
Code
import com.ycccc.utils.WO;
var mc:MovieClip
=
new
MovieClip();
var __mc:WO
=
new
WO(mc);
var arg:String
=
"
1234
"
;
__mc.watch(
"
x
"
,watchFunc);
function watchFunc(p,o,n,arg)
{
trace(arguments);
return
n;
}
__mc.x
=
99
;
__mc.x
=
100
;
__mc.watch(
"
y
"
,watchFunc,arg);
__mc.y
=
101
;
__mc.y
=
102
;
__mc.watch(
"
z
"
,watchFunc,arg);
__mc.z
=
88
__mc.z
=
99
事实上,没有什么要比发现、培养、呵护、调整自己的心智的力量更重要的事情了.........
相关阅读:
12306抢票系统——ER图及数据表
深度学习攻防对抗(JCAI-19 阿里巴巴人工智能对抗算法竞赛)
用Tensorflow实现DCGAN
机器学习实战:数据预处理之独热编码(One-Hot Encoding)
K最近邻算法
正则表达式模块re
2013百度研发笔试
python初准备:安装easy_install和pip
网络设备作用和工作ISO层
01背包初始化的理解
原文地址:https://www.cnblogs.com/appleseed/p/1381099.html
最新文章
windows下上传shell脚本不能运行—将dos模式修改为unix 文件格式
Linux后台运行进程
kafka单机环境搭建及其基本使用
简单的注解剖析
.htaccess实现后台仅某些部分能够访问
js上传图片
php的二维数组排序
补课系列:最小生成树
如何将Anaconda更新到想要的python版本
数据分析概况02:《深入浅出统计学》——基本统计量1
热门文章
数据分析概览01:读《深入浅出数据分析》
投影和椭球
python Tips(不定期更新)
forEach和map的用法和区别
js原型链解析
echarts图表x,y轴的设置
echarts设置图标图例legend多种形状
使用JMeter进行http压力测试
软件工程综合实践专题——第四次团队作业
代码托管平台--GitHub 使用小结
Copyright © 2020-2023
润新知