慕哥6287543
2022-08-03 18:14:54
var obj:Object={obj1:new MovieClip(),obj2:1};然后對obj.obj1添加偵聽函數(shù):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是屬于哪一個復雜數(shù)據(jù)類型的屬性,怎么辦?}
2 回答

慕婉清6462132
TA貢獻1804條經(jīng)驗 獲得超2個贊
var obj:Object={obj1:new MovieClip(),obj2:1};
上面這樣聲明,obj1、obj2就是obj的屬性,就像影片剪輯的x、y屬性一樣,可以通過影片剪輯的x、y屬性訪問到影片剪輯對象嗎?答案是,不能。
所以你的要求也是不能實現(xiàn)的。
有兩個修改意見提供給你參考:
1.不要對屬性添加偵聽,直接對obj添加偵聽,這樣一切都會變得很方便;
2.任然需要保留對屬性偵聽的情況:當有很多obj的時候,將他們放入一個數(shù)組objArr,然后在這個數(shù)組中查找符合條件的
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條經(jīng)驗 獲得超3個贊
給mc動態(tài)添加了一個數(shù)組屬性mc.arr,然后在這個數(shù)組之中添加mc的各個因素,然后通過訪問e.target.arr.a,e.target.arr.b等來得到當前捕獲mc的各屬性。
- 2 回答
- 0 關(guān)注
- 173 瀏覽
添加回答
舉報
0/150
提交
取消