作者KawasumiMai (妄想★暴走)
看板Flash
標題[問題] 呼叫parent的function失敗
時間Sun Jun 3 03:04:28 2012
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
1F:→ KawasumiMai:補充,換個有Event的地方寫上 06/03 03:10
2F:→ KawasumiMai:e.currentTarget.parent.parent.parent.set_swf2() 06/03 03:10
3F:→ KawasumiMai:是可以過的,而且可以成功,但是沒有event就不行 06/03 03:10
4F:→ KawasumiMai:請問這是什麼原因?有什麼方法修正? 06/03 03:11
5F:推 sayaku0210:其實你可以trace(this) 看一下this是誰 06/04 16:35
6F:→ sayaku0210:不過這邊不建議使用parent!多加個幾層就改到掛了 06/04 16:35
7F:→ sayaku0210:試試發送自定事件吧dispatchEvent 06/04 16:36
8F:推 etrexetrex:如果發事件的人是同一個 那還是要 parent 阿 06/04 22:08
9F:→ Kcars:呼叫init方法時順便記下main的話呢? 06/04 23:01
10F:→ KawasumiMai:樓上方法讚耶XD 將主影片參照寫入變數 06/05 12:01
11F:→ KawasumiMai:直接使用該變數就連過去了,讚! 06/05 12:01