
如
class A
{
var b:B
public function A()
{
b = new B(this)
}
}
class B
{
var a:A
public function B(a:A)
{
this.a = a
}
}
因为Object类在AS中式动态定义的,就是(Dynmic啊好像是这个单词反正不记得了,这种定义一般用得很少,类似的我记得的就只有MoiveCilp了),用这种动态方式定义的类 都可以动态添加属性! 例如 你NEW了一个MoveiCLip你不是可以在外面添加其他你自己想到的属性嘛!同样的道理撒!var obj:Object={obj1:new MovieClip(),obj2:1}上面这样声明,obj1、obj2就是obj的属性,就像影片剪辑的x、y属性一样,可以通过影片剪辑的x、y属性访问到影片剪辑对象吗?答案是,不能。
所以你的要求也是不能实现的。
有两个修改意见提供给你参考:
1.不要对属性添加侦听,直接对obj添加侦听,这样一切都会变得很方便;
2.任然需要保留对属性侦听的情况:当有很多obj的时候,将他们放入一个数组objArr,然后在这个数组中查找符合条件的
function onShow(e:Event):void{
var mc:MovieClip=e.currentTarget as MovieClip
for(var i:int = 0i<objArr.lengthi++){
if(objArr[i].obj1 == mc){
//objArr[i]就是你需要的
return
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)