Re: [問題] 請問怎麼用語法停止元件??(已爬文)

看板Flash作者 (CJ Cat)時間17年前 (2008/08/17 01:54), 編輯推噓3(307)
留言10則, 4人參與, 最新討論串2/4 (看更多)
以下方法為AS3的做法 未經過測試,所以可能有打錯字 不過做法與原理是沒有問題的 寫一個叫做MCManager的class 存成MCManager.as放在.fla檔旁邊 package { import flash.display.MovieClip; public class MCManager { //裝著add過的MovieClip private static var _clips:Array = new Array(); //加入可以監控的MovieClip public static function add(mc:MovieClip):void { _clips.push(mc); } //全部停止 public static function allStop():void { for (var i:int = 0; i < _clips.length; i++) { MovieClip(_clips[i]).stop(); } } //全部播放 public static function allPlay():void { for (var i:int = 0; i < _clips.length; i++) { MovieClip(_clips[i]).play(); } } } } 然後寫一個繼承MovieClip的class叫做ControlledMC 存成ControlledMC.as也放在.fla檔旁邊 package { import flash.display.MovieClip; public class ControlledMC extends MovieClip { //在自己的constructor裏面就把自己加入到MCManager //的監控清單裡面,以供隨時被呼叫stop() public function ControlledMC() { MCManager.add(this); } } } 在.fla的元件庫裏面想要有可以自動暫停功能的MovieClip元件上面按右鍵 選取linkage之後,打勾export for ActionScript 之後在base class欄位裡面填入ControlledMC 完成,之後想要暫停這些元件 呼叫MCManager.allStop()就好了 想要繼續播放就是呼叫MCManager.allPlay() -- 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.82.145

08/17 02:16, , 1F
推推!!真的是太感謝老大您的回文了!!實在太詳細了!不過,我
08/17 02:16, 1F

08/17 02:17, , 2F
這個超嫩AS新手實在是...看不懂阿....等我認識多一點後我會
08/17 02:17, 2F

08/17 02:17, , 3F
回來研究這篇的=_="!!!不過希望這篇能夠幫到其他板友先!!!
08/17 02:17, 3F

08/17 10:17, , 4F
觀察者?
08/17 10:17, 4F

08/17 10:42, , 5F
是的,這就是Observer pattern
08/17 10:42, 5F

08/17 13:20, , 6F
話說我超愛Observer pattern...我也一堆API都是用這個
08/17 13:20, 6F

08/17 13:21, , 7F
Carousel, Floater, Fader, Chaser, Dragger, ...etc.
08/17 13:21, 7F

08/17 13:21, , 8F
我也想試試其他的,不過不知道要用在哪邊...
08/17 13:21, 8F

08/17 14:37, , 9F
= =" 光想就不知道腦細胞要死多少了...cj應該ok啦...
08/17 14:37, 9F

08/18 09:20, , 10F
酷 簡單易懂的觀察者pattern教學
08/18 09:20, 10F
文章代碼(AID): #18fnHjaG (Flash)
文章代碼(AID): #18fnHjaG (Flash)