[問題] 呼叫parent的function失敗

看板Flash作者 (妄想★暴走)時間13年前 (2012/06/03 03:04), 編輯推噓2(209)
留言11則, 4人參與, 最新討論串1/1
main.swf 裡面有addChild一個Loader Loader load的是content.swf 載入完畢之後 main呼叫content.swf裡面的init函式是成功的 但是content.swf要呼叫main.swf的set_swf2函式卻發生了失敗 content.swf內主時間軸的語法是這樣的 this.parent.parent.parent.set_swf2() 其中 trace(this.parent.parent) 出現[object MainTimeline] trace(this.parent.parent.parent) 出現[object Stage] 請問哪個部份出了問題? compile的時候會發生錯誤,因為沒有set_swf2 然後執行main.swf的時候會變成沒有init() (原本是OK的) 是因為發生錯誤導致整個程式碼沒有compile進去嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.208.31

06/03 03:10, , 1F
補充,換個有Event的地方寫上
06/03 03:10, 1F

06/03 03:10, , 2F
e.currentTarget.parent.parent.parent.set_swf2()
06/03 03:10, 2F

06/03 03:10, , 3F
是可以過的,而且可以成功,但是沒有event就不行
06/03 03:10, 3F

06/03 03:11, , 4F
請問這是什麼原因?有什麼方法修正?
06/03 03:11, 4F

06/04 16:35, , 5F
其實你可以trace(this) 看一下this是誰
06/04 16:35, 5F

06/04 16:35, , 6F
不過這邊不建議使用parent!多加個幾層就改到掛了
06/04 16:35, 6F

06/04 16:36, , 7F
試試發送自定事件吧dispatchEvent
06/04 16:36, 7F

06/04 22:08, , 8F
如果發事件的人是同一個 那還是要 parent 阿
06/04 22:08, 8F

06/04 23:01, , 9F
呼叫init方法時順便記下main的話呢?
06/04 23:01, 9F

06/05 12:01, , 10F
樓上方法讚耶XD 將主影片參照寫入變數
06/05 12:01, 10F

06/05 12:01, , 11F
直接使用該變數就連過去了,讚!
06/05 12:01, 11F
文章代碼(AID): #1FocF0ty (Flash)
文章代碼(AID): #1FocF0ty (Flash)