[問題] 將元件中的元件丟回主場景影格上

看板Flash作者 (桃)時間15年前 (2010/09/03 13:05), 編輯推噓1(1019)
留言20則, 5人參與, 最新討論串1/1
AS3.0 在a元件中var b:B =newB(); new一個新元件b 該如何將b元件的名稱回傳到主場景上呢? 或是~ 該如何將從主場景上點選b而觸發一個事件 目前狀況是: a因為加一個timer,所以一段時間後,會new一個b 場景上現在顯示b 我需要做點選b,會觸發一個事件 不知道該怎麼做才好.. 麻煩高手了! 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.87.204

09/03 13:22, , 1F
看起來像AS2..幫不了你XD
09/03 13:22, 1F

09/03 13:45, , 2F
AS3也有可能~ 原PO如果沒有強制要將b宣告在A元件裡
09/03 13:45, 2F

09/03 13:46, , 3F
倒是可以在主程式作好以上動作,再將b addChild進a裡
09/03 13:46, 3F

09/03 13:48, , 4F
(試了一下,好像寫在main或寫在A裡沒什麼差XD)
09/03 13:48, 4F
※ 編輯: smilepeach 來自: 140.115.87.204 (09/03 13:50)

09/03 13:50, , 5F
是as3:)
09/03 13:50, 5F

09/03 13:51, , 6F
想請問一下~將b add進a裡,是說在a元件中寫add(b)嗎
09/03 13:51, 6F

09/03 13:52, , 7F
我現在是在a中 new b,再addChild(b)
09/03 13:52, 7F

09/03 13:53, , 8F
而觸發事件必須寫在主場景上,再做判斷是否是b,再做動作
09/03 13:53, 8F

09/03 13:54, , 9F
但是這樣會顯示未定義的元件b..
09/03 13:54, 9F

09/03 13:58, , 10F
b add進a裡=>a.addChild(b); 是在main寫(所以宣告也在main
09/03 13:58, 10F

09/03 17:47, , 11F
在 addChild(b) 的時候,先幫 b 取個名字,如:b1
09/03 17:47, 11F

09/03 17:49, , 12F
然後在主場景上寫個 function 專門用來設定觸發事件
09/03 17:49, 12F

09/03 17:54, , 13F
先設定個影片片段型態的變數 var mc:MovieClip;
09/03 17:54, 13F

09/03 17:54, , 14F
指定內容 mc = a.getChildByName("b1") as MovieClip;
09/03 17:54, 14F

09/03 17:55, , 15F
然後就可以設定它的觸發事件了~
09/03 17:55, 15F

09/03 17:55, , 16F
記住在 a 裡面 addChild(b) 之後要呼叫那個 function
09/03 17:55, 16F

09/03 17:55, , 17F
然後設定個變數讓 b 每次出來的 name 都不一樣
09/03 17:55, 17F

09/03 17:56, , 18F
在 getChildByName 的地方也要同時抓取那個變數哦~
09/03 17:56, 18F

09/03 21:02, , 19F
最簡單的作法是 a.b 吧?
09/03 21:02, 19F

09/03 21:02, , 20F
因為他寫 var b
09/03 21:02, 20F
文章代碼(AID): #1CW88PfL (Flash)