prototype属性和ASSetPropFlags函数(转载)
发布:kinglong | 发布时间: 2005年8月5日至从使用as2后,所有的功能新增都是利用继承的方式撰写,但是prototype的设定并没有因此不见啰!!,下面有两个范例可以参考....
//====新增 movie clip 的位置属性 ===============
// 设定mc的get和set 位置函数
function $setLocation(pt) {
this._x = pt.x;
this._y = pt.y;
}
function $getLocation() {
return {x:this._x, y:this._y};
}
//增加mc的get和set的属性
MovieClip.prototype.addProperty("_location",$getLocation, $setLocation);
// 设定ASSetPropFlags,防止利用for(i in mc)取得讯息
var HIDDEN:Number = 1;
var PROTECT_DELETE:Number = 2;
var PROTECT_OVERWRITE:Number = 4;
ASSetPropFlags(MovieClip.prototype,"_location", HIDDEN | PROTECT_DELETE | PROTECT_OVERWRITE, 0);
//如此movie clip就可以利用_location定位了!!
my_mc._location = {x:20, y:40};
//====新增取得 movie clip 祖父层信息 ===========
// 设定mc的get和set 上两层的函数
function $setGrandpa(mc) {
this.$grandpa = mc;
}
function $getGrandpa() {
return this._parent._parent;
}
MovieClip.prototype.addProperty("_grandpa", $getGrandpa, $setGrandpa);
// 设定ASSetPropFlags,防止利用for(i in mc)取得讯息
var HIDDEN:Number = 1;
var PROTECT_DELETE:Number = 2;
var PROTECT_OVERWRITE:Number = 4;
ASSetPropFlags(MovieClip.prototype, "_grandpa",HIDDEN | PROTECT_DELETE | PROTECT_OVERWRITE, 0);
//建立两层movie clip然后测试_grandpa属性
createEmptyMovieClip("dad_mc", 0);
dad_mc.createEmptyMovieClip("sonofa_mc", 0);
trace(dad_mc.sonofa_mc._grandpa);
P.S.
文章转载处:Kyle's Flash Blog
ASSetPropFlags函数参照资料:http://www.osflash.org/doku.php?id=flashcoders:undocumented:assetpropflags
- 相关文章:
终于可以学习和开发flash lite 2.0的程序了 (2006-1-4 15:27:55)
最近刚完成的flash视频项目 (2006-1-4 15:24:2)
更新Flash视频服务端技术 (2005-12-1 15:20:22)
flash视频服务端应用开发 (2005-11-22 14:48:56)
更新Loading组件 (2005-11-9 15:28:47)
从AS2.0到AS3.0 (2005-10-18 15:34:1)
AS 3.0—flash变革性代码体系的来临 (2005-10-8 15:36:58)
Loading组件(原创组件) (2005-9-13 15:41:16)
Flash动态显示波形组件(原创组件) (2005-8-28 15:42:46)
有关flash8实现视频截图的几点说明 (2005-1-2 15:23:15)
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。




