作者justaID (快樂崇拜)
看板Flash
標題[問題] 有辦法得知某instance是哪個實體嗎?
時間Tue Sep 28 01:12:09 2010
之所以提出這個問題,是由於遇到以下情況
我用MOUSE_MOVE讓一個叫做"choose"的mc跟著滑鼠游標跑
同時畫面上有一個方塊形的mc叫做"cancel"
我想利用監聽"cancel"的click事件,讓滑鼠點"cancel"後
"cancel"和"choose"兩個mc都visible=false(在畫面上暫時消失)
但卻出現難解的問題...
我已經對"choose"的mouseEnabled設定false
理論上應該可以點到"cancel",但卻一直無法點到
疑惑之下用e.target.name去印出到底click到誰
(畫面上看不出來,看到的明明是點"cancel")
結果印出到 "instance127".... 囧
經過一番尋找,找到instance126,剛好在一連串連續的實體宣告中
奇在於instance126的下一個變數,卻是instance131
這兩個變數的實體宣告之間
只有呼叫了另一個function,利用該函數對instance126做一些屬性的變動,如x, y
但卻硬生生跳了5號,不知該如何處理(127到底是誰 Orz)
請問像這種情況
有沒有辦法,從變數實體名(如instance127)去查出該實體是誰?
感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.8.131
※ 編輯: justaID 來自: 114.44.8.131 (09/28 01:14)
1F:→ KawasumiMai:mouseEnabled設定false只是不對mouse產生反映 09/28 01:14
2F:→ KawasumiMai:可是點到的還是上面那層 09/28 01:14
3F:→ KawasumiMai:點到的同時交換一下choose和cancel的depth看看 09/28 01:15
4F:→ justaID:感謝K大回答! 不過我的狀況似乎就是"不知道到底點到誰" 09/28 01:22
5F:→ justaID:後面的動作都是點到cancel後才進行,但卻點不到cancel 09/28 01:23
6F:→ justaID:也找不出(or不知道怎麼找)被點到的instance127是誰 09/28 01:24
7F:推 ericinttu:invisible的東西可以暫移到畫面之外嗎? 這樣會不會對接 09/28 01:33
8F:→ ericinttu:下來的判斷處理好做一點? 09/28 01:33
9F:推 dsmwang:何不點擊時檢視滑鼠座標和cancel是否有相撞? 09/28 02:53
10F:→ dsmwang:instance是系統自己幫他取的,算是預設吧。 09/28 02:53
11F:→ dsmwang:或是直接使用hitArea 09/28 02:57
12F:推 openyayak:直接給mc.name = "name",就知道點到誰了 ~~~ 09/28 08:57
13F:→ justaID:感謝e大建議! 我試著在click時將e.target的位置改到畫面中 09/28 10:53
14F:→ justaID:央,沒有看到什麼物件出現,反而畫面大亂,最後error(怪哉 09/28 10:56
15F:→ justaID:感謝d大建議,我有試過檢視滑鼠座標的hit,由於畫面上還有 09/28 10:57
16F:→ justaID:其他判定,會互相影響,只好作罷~"~ 09/28 10:57
17F:→ justaID:感謝o大給我的靈感!我試著在e.target.addChild東西,來看 09/28 10:58
18F:→ justaID:究竟是哪個物件被點到,卻發現根本沒有變化!? 09/28 10:59
19F:→ justaID:如此說來該instance根本不在stage上,但卻又被點到@"@(惑) 09/28 11:00
20F:推 scars:你先把choose的mouseEnabled跟mouseChildren都設false試試 09/28 12:15
21F:→ scars:看起來像是你在choose裡面有子物件 或者你偵聽的對象出問題 09/28 12:17
22F:→ ben0209:1. 處理 mouseEnabled 與 mouseChildren,如上說明 09/28 13:42
23F:→ ben0209:2. 將 e.currentTarget 用 describeType() 試試 09/28 13:44
24F:→ justaID:感謝s大和b大解答! 問題確實出在mouseChildren! 感恩! 09/28 18:56
25F:→ justaID:另外發現由於choose是放在sprite裡,該sprite也得設定 09/28 19:03
26F:→ justaID:mouseChildren=false 09/28 19:03