作者tira0419 (提拉)
看板Flash
标题Re: [问题] 多个影片片段之播放与暂停
时间Thu Dec 10 20:24:11 2009
※ 引述《etrexetrex (moonet)》之铭言:
: ※ 引述《sextitanic (阿信163)》之铭言:
: : 其实如果是命名成 a1、a2、a3....a11
: : 那可以写成
: : for(var i=1; i<=11; i++){
: : this["a" + i].stop();
: : }
: : 如果不想要每一个都设名字的话,倒可以用另一个方法
: : 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
: 写成递回 就能支援到所有层级
: function stopMC(MC)
: {
: MC.stop();
: for(var i in MC)
: if(typeof(MC[i]) == "movieclip")
: stopMC(MC[i]);
: }
: 不过其实等到复原的时候就出包了,因为
: function playMC(MC)
: {
: MC.play();
: for(var i in MC)
: if(typeof(MC[i]) == "movieclip")
: playMC(MC[i]);
: }
: 当初停止全部的MC之前,也许只有少数几个MC会动
: 但是复原时却是所有MC都在动阿~~~(无解)
: 有办法判断出某个MC是否正在play吗?
: ==尝试修改推文中提到的问题
: function stopMC(MC)
: {
: for(var i in MC)
: if(typeof(MC[i]) == "movieclip")
: stopMC(MC[i]);
: //备份资料
: MC.onEnterFrameBackup = MC.onEnterFrame;
: MC._currentFrameBackup = MC._currentFrame;
: MC.onEnterFrame = function()
: {
: //判断这MC本身会不会动
: if(this._currentFrame == this._currentFrameBackup)
: this.stopByFunction = false;
: else
: this.stopByFunction = true;
: //马上停掉
: this.onEnterFrame = null;
: }
: MC.stop();
: }
: function playMC(MC)
: {
: for(var i in MC)
: if(typeof(MC[i]) == "movieclip")
: playMC(MC[i]);
: MC.onEnterFrame = MC.onEnterFrameBackup;
: if(MC.stopByFunction)
: MC.play();
: }
呼~还好我的问题写这样大家都看的懂
首先我要感谢sextitanic大大,今天一大早看到您的回覆之後,马上就在公司开
档案开始研究(注一)的程式,经过一阵子的理解,总算知道整个动作的原理了
,自己动手稍加修改了一点点地方之後,真的是很神奇啊!真的全部都停止了!不
像以前我自己乱搞的程式,大部分都停止只剩少部分还在动~"~
不过停止了还是要播放,所以我试着把程式中的STOP通通改成PLAY,结果当然是动
了!!动了!!!动了啊~~~~超级感动的!不过是大家一起动...(泪)
万幸的是,大部分的影格都是需要大家一起动的,只有少部分是需要一部分动,一
部分不能动。因为我本身学FLASH只学皮毛,也就是动画那一块,AS程式部份还没学
,所以就尽所能的修改MovieClip里面的元件跟顺序,尽量把他改到不会有太大的影
响,就这样...一天就过了...一整天都在跟FLASH谈情说爱呀...XD
另外也谢谢etrexetrex大大
看到您的程式真是让我惊为天人!!!(这个词用在这边对吗@.@?)
用了不少我还不知道干啥用的程式,不过也很好奇这支程式能让我跟FLASH擦出什麽
样的火花,明天上班我会好好的研究的= =+ (档案放在公司没带回家,只好明天再研究)
感恩~感恩~再感恩!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.140.19.91
1F:推 etrexetrex:XD 我写的程式没测试过喔 @@ 12/10 20:30
2F:→ tira0419:我回到家才发现您的程式呀=口= 12/10 20:31
3F:→ tira0419:报告,刚刚去找了个旧档,东拼西凑凑出大致上的环境之後 12/10 20:47
4F:→ tira0419:发现试不出来...我要在研究一下Q.Q 12/10 21:06
5F:推 etrexetrex:XD 我刚杀了一支虫 12/10 21:11