var obj:Object={obj1:new MovieClip(),obj2:1};然后对obj.obj1添加侦听函数:obj.obj1.addEventListener(Event.ENTER_FRAME,onShow);function onShow(e:Event):void{var mc:MovieClip=e.target as MovieClip;//请问在这里怎么通过mc找到obj并输出obj的第二个属性的值"1"?我知道可以直接打obj,但是如果批量的时候,不能直接得到mc是属于哪一个复杂数据类型的属性,怎么办?}
2 回答

慕婉清6462132
TA贡献1804条经验 获得超2个赞
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 = 0; i<objArr.length; i++){
if(objArr[i].obj1 == mc){
//objArr[i]就是你需要的
return;
}
}
}

一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
给mc动态添加了一个数组属性mc.arr,然后在这个数组之中添加mc的各个因素,然后通过访问e.target.arr.a,e.target.arr.b等来得到当前捕获mc的各属性。
- 2 回答
- 0 关注
- 179 浏览
添加回答
举报
0/150
提交
取消