作者sextitanic (阿信163)
看板Flash
标题Re: [问题] 多个影片片段之播放与暂停
时间Thu Dec 10 03:11:39 2009
※ 引述《tira0419 (提拉)》之铭言:
: 恕删一点原文
: 我需要做一个播放与暂停钮,能停止动画播放,却又在暂停的地方开始播放。
: 我试了很久,一开始发现STOP跟PLAY只能控制最上层的时间轴,无法暂停影片片段里的
: 播放。所以後来又开始把第一层的每个影片片段设一个实体名称,然後再用程式码去暂
: 停这些影片片段的播放。(感觉很土法炼钢...)
: 程式码如下:(假设10个影片片段的实体名称是aaa bbb ccc ddd eee .........)
: on (release) {
: aaa.stop();
: bbb.stop();
: ccc.stop();
: ddd.stop();
: eee.stop();
: fff.stop();
: ggg.stop();
: hhh.stop();
: iii.stop();
: sss.stop();
: }
其实如果是命名成 a1、a2、a3....a11
那可以写成
for(var i=1; i<=11; i++){
this["a" + i].stop();
}
: (恕再删一点原文)我必须每个
: 都设实体名称,再设定相对应的程式码。这样搞下去程式码就一长串比乡民的30cm还
: 长了...
: 然後...我总共有60个flash要改,每个都有一模一样的情况.....= ="
: 所以来请教各位大大...有没有程式码可以一次控制这麽多层的影片片段
: 设定我按下暂停钮,这些动画就全部暂停
: 按下播放钮,就从我刚刚暂停的那个画面开始播放?
: 恳求各位大大帮忙了>"<
如果不想要每一个都设名字的话,倒可以用另一个方法
typeof
嗯.....就是侦测场景上的元件是什麽类型
如果是 movieclip 就停止
大概范例如下:
for(var i in _root){ //回圈,会跑在 _root 里面的所有物件,指定给 i
if(typeof(this[i])=="movieclip"){ // movieclip 就是影片片段
this[i].stop(); //先把第一层的停下来
for(var j in this[i]){ //再来就是停 i 影片片段里面的罗
if(typeof(this[i][j]) == "movieclip"){
this[i][j].stop();
}
}
}
}
嗯......这个应该是 ok 的,写的还挺丑的啊 XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.42.103.93
1F:→ sextitanic:再提一次:AS3 用 stage.frameRate 来控制即可 12/10 03:12
※ 编辑: sextitanic 来自: 114.42.103.93 (12/10 03:16)
2F:→ tira0419:好详细的讲解@.@a,两位大大的方法我都试试看~谢谢^^ 12/10 09:18
3F:→ sextitanic:哦,忘了讲,这是 AS2 的写法 12/10 14:57
4F:推 tira0419:现在才发现上一篇推文的大大跟这篇是同一个人= =" 12/10 19:54