[問題] 子物件的影格有可以和父物件溝通的語法嗎?

看板Flash作者 (兔子)時間14年前 (2011/05/20 09:31), 編輯推噓3(3020)
留言23則, 4人參與, 最新討論串1/1
我想要知道子物件播放到第n格的時機 是否只能用父物件一直去檢查子物件播放到哪了 還是可以在子物件中的影格寫上什麼 讓它執行到該格就丟出一個事件? 感謝 -- ◤ __ \__◢◤◢◤ ψhirabbitt ◤ ◢███◣ ◢███◣ 涼涼黑兔 █████ █████ 煢煢白兔 十寒一曝 ██ ███ 東走西顧 食不嫌葷 ██╱╲ ◥█████◣● 衣不如新 心不嫌素╱╱ ◥████ ˇ 人不如故 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.127.91

05/20 09:36, , 1F
dispatchEvent
05/20 09:36, 1F

05/20 11:56, , 2F
感謝 我查查看
05/20 11:56, 2F

05/20 17:35, , 3F
那假如我這個物件是動態產生好幾個 我要怎麼知道是哪一
05/20 17:35, 3F

05/20 17:36, , 4F
個物件丟出事件呢?
05/20 17:36, 4F

05/20 17:38, , 5F
e.currentTarget
05/20 17:38, 5F

05/20 17:49, , 6F
感謝 flash as3真是博大精深
05/20 17:49, 6F

05/20 17:59, , 7F
咦 e的類別是什麼?
05/20 17:59, 7F

05/20 18:00, , 8F
就是function(E: 這邊要寫什麼?
05/20 18:00, 8F
元件庫b_bbomb物件影格中: //丟出booming事件 dispatchEvent(new Event("booming")); stop(); 場景一影格中: //在靜態物件world中動態產生b_bbomb物件 tempMC=new b_bbomb(); tempMC.x=Math.floor(temp1x/22.5)*22.5; tempMC.y=Math.floor((temp1y-40)/22.5)*22.5+40; world.addChildAt(tempMC,0); //監聽booming事件 addEventListener("booming",function(E:Event):void{ trace("!"); 將丟出booming事件的物件隱藏 E.currentTarget.visible=false; }); 但是現在連trace("!");都沒有跑出來QQ ※ 編輯: hirabbitt 來自: 163.13.127.91 (05/20 18:18)

05/20 18:22, , 9F
看起來沒問題
05/20 18:22, 9F

05/20 18:27, , 10F
但是trace不到耶 會不會是因為b_bbomb是動態產生的
05/20 18:27, 10F

05/20 18:27, , 11F
所以丟出的事件 場景1收不到?
05/20 18:27, 11F

05/20 18:28, , 12F
我有試著在b_bbomb中super.dispatchEvent(new Event("bo
05/20 18:28, 12F

05/20 18:28, , 13F
但是就算加了super 場景1這邊一樣收不到
05/20 18:28, 13F

05/20 18:36, , 14F
tempMC.addEventListener("booming",function(E:Event):
05/20 18:36, 14F

05/20 18:37, , 15F
這樣就可以了=.=
05/20 18:37, 15F

05/21 23:12, , 16F
dispatchEvent(new Event("booming", true));第二個參數
05/21 23:12, 16F

05/21 23:12, , 17F
給true讓該事件參與bubbling,上層物件才會收得到該事件
05/21 23:12, 17F

05/21 23:14, , 18F
world以及最外層root都會收到。你原本加上super.的寫法
05/21 23:14, 18F

05/21 23:16, , 19F
(第二個參數沒有給true)是由world來發出事件,但是因為
05/21 23:16, 19F

05/21 23:16, , 20F
沒有bubbling所以場景一還是收不到,只有world本身收得到
05/21 23:16, 20F

05/21 23:21, , 21F
抱歉super部分我說錯了。parent.dispatchEvent..才是由
05/21 23:21, 21F

05/21 23:22, , 22F
world來發出事件
05/21 23:22, 22F

05/22 06:18, , 23F
原來如此 感謝
05/22 06:18, 23F
文章代碼(AID): #1DrSI0ix (Flash)