至从使用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