[問題] 有辦法得知某instance是哪個實體嗎?

看板Flash作者 (快樂崇拜)時間15年前 (2010/09/28 01:12), 編輯推噓4(4022)
留言26則, 7人參與, 最新討論串1/1
之所以提出這個問題,是由於遇到以下情況 我用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)

09/28 01:14, , 1F
mouseEnabled設定false只是不對mouse產生反映
09/28 01:14, 1F

09/28 01:14, , 2F
可是點到的還是上面那層
09/28 01:14, 2F

09/28 01:15, , 3F
點到的同時交換一下choose和cancel的depth看看
09/28 01:15, 3F

09/28 01:22, , 4F
感謝K大回答! 不過我的狀況似乎就是"不知道到底點到誰"
09/28 01:22, 4F

09/28 01:23, , 5F
後面的動作都是點到cancel後才進行,但卻點不到cancel
09/28 01:23, 5F

09/28 01:24, , 6F
也找不出(or不知道怎麼找)被點到的instance127是誰
09/28 01:24, 6F

09/28 01:33, , 7F
invisible的東西可以暫移到畫面之外嗎? 這樣會不會對接
09/28 01:33, 7F

09/28 01:33, , 8F
下來的判斷處理好做一點?
09/28 01:33, 8F

09/28 02:53, , 9F
何不點擊時檢視滑鼠座標和cancel是否有相撞?
09/28 02:53, 9F

09/28 02:53, , 10F
instance是系統自己幫他取的,算是預設吧。
09/28 02:53, 10F

09/28 02:57, , 11F
或是直接使用hitArea
09/28 02:57, 11F

09/28 08:57, , 12F
直接給mc.name = "name",就知道點到誰了 ~~~
09/28 08:57, 12F

09/28 10:53, , 13F
感謝e大建議! 我試著在click時將e.target的位置改到畫面中
09/28 10:53, 13F

09/28 10:56, , 14F
央,沒有看到什麼物件出現,反而畫面大亂,最後error(怪哉
09/28 10:56, 14F

09/28 10:57, , 15F
感謝d大建議,我有試過檢視滑鼠座標的hit,由於畫面上還有
09/28 10:57, 15F

09/28 10:57, , 16F
其他判定,會互相影響,只好作罷~"~
09/28 10:57, 16F

09/28 10:58, , 17F
感謝o大給我的靈感!我試著在e.target.addChild東西,來看
09/28 10:58, 17F

09/28 10:59, , 18F
究竟是哪個物件被點到,卻發現根本沒有變化!?
09/28 10:59, 18F

09/28 11:00, , 19F
如此說來該instance根本不在stage上,但卻又被點到@"@(惑)
09/28 11:00, 19F

09/28 12:15, , 20F
你先把choose的mouseEnabled跟mouseChildren都設false試試
09/28 12:15, 20F

09/28 12:17, , 21F
看起來像是你在choose裡面有子物件 或者你偵聽的對象出問題
09/28 12:17, 21F

09/28 13:42, , 22F
1. 處理 mouseEnabled 與 mouseChildren,如上說明
09/28 13:42, 22F

09/28 13:44, , 23F
2. 將 e.currentTarget 用 describeType() 試試
09/28 13:44, 23F

09/28 18:56, , 24F
感謝s大和b大解答! 問題確實出在mouseChildren! 感恩!
09/28 18:56, 24F

09/28 19:03, , 25F
另外發現由於choose是放在sprite裡,該sprite也得設定
09/28 19:03, 25F

09/28 19:03, , 26F
mouseChildren=false
09/28 19:03, 26F
文章代碼(AID): #1CeD1hrV (Flash)
文章代碼(AID): #1CeD1hrV (Flash)