作者cjcat2266 (CJ Cat)
看板Flash
标题Re: [问题] Flash卡阴...读取都要按两下
时间Mon May 12 00:13:25 2008
1F:推 twslayer:用setInterval延迟後面几个动作处理时间 05/11 22:36
2F:→ 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
3F:推 fuyyddt:SOGA~非常感谢罗~没想过流程是这样走的... 05/12 00:23
4F:→ cjcat2266:有时候你应该会注意到 05/12 00:28
5F:→ cjcat2266:写在stop()後面的code还是会执行的 05/12 00:28
6F:→ cjcat2266:或者nextFrame()之类的也是,这表示stop()是在最後才跑 05/12 00:29