推 twslayer:用setInterval延遲後面幾個動作處理時間 05/11 22:36
→ fuyyddt:很像不是延遲的問題吧!?只按一下,不出來就是不出來 05/11 22:51
正解如 T 兄推文所述
你的問題在於graph出現在第五格
以下function如果跟其他code寫在同一個block (大括弧之間)
整個block會被執行過後,該function才會被執行:
stop() play() gotoAndStop() gotoAndPlay()
nextFrame() prevFrame()
所以如果我一個block寫這樣:
nextFrame();
trace("message");
那麼程式會先執行到"message"被印出來,才執行nextFrame()
再來看看你的原始檔
你handler內容如下
on (release) {
_root.back1.gotoAndStop(5);-------------------------(A)
_root.back1.book1.book1.text = text2;---------------(B)
_root.back1.graph.graph.contentPath = "001.jpg";----(C)
}
所以(A)會執行,但是要等到(B)和(C)執行完以後
所以在執行(C)的時候你back1還沒有跳到第五格
也就是graph.graph還沒有被顯示到畫面上
(現在還在第一格)
於是你設定graph.graph.contentPath沒有效果
要等到第二次設定的時候才生效
(因為已經到第五格了)
我想到的另外一個解決方式是
你把graph.graph複製到另外一個圖層
然後graph.graph從第一個影格開始就存在
這樣就不會有在第一格的時候無法抓到graph.graph的問題
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Blog http://cjcat.blogspot.com
Gallery http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.85.150
推 fuyyddt:SOGA~非常感謝囉~沒想過流程是這樣走的... 05/12 00:23
→ cjcat2266:有時候你應該會注意到 05/12 00:28
→ cjcat2266:寫在stop()後面的code還是會執行的 05/12 00:28
→ cjcat2266:或者nextFrame()之類的也是,這表示stop()是在最後才跑 05/12 00:29