作者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
推 etrexetrex:XD 我寫的程式沒測試過喔 @@ 12/10 20:30
→ tira0419:我回到家才發現您的程式呀=口= 12/10 20:31
→ tira0419:報告,剛剛去找了個舊檔,東拼西湊湊出大致上的環境之後 12/10 20:47
→ tira0419:發現試不出來...我要在研究一下Q.Q 12/10 21:06
推 etrexetrex:XD 我剛殺了一支蟲 12/10 21:11