看板 Flash 關於我們 聯絡資訊
以下方法為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
bowpea:推推!!真的是太感謝老大您的回文了!!實在太詳細了!不過,我 08/17 02:16
bowpea:這個超嫩AS新手實在是...看不懂阿....等我認識多一點後我會 08/17 02:17
bowpea:回來研究這篇的=_="!!!不過希望這篇能夠幫到其他板友先!!! 08/17 02:17
icedesign:觀察者? 08/17 10:17
cjcat2266:是的,這就是Observer pattern 08/17 10:42
cjcat2266:話說我超愛Observer pattern...我也一堆API都是用這個 08/17 13:20
cjcat2266:Carousel, Floater, Fader, Chaser, Dragger, ...etc. 08/17 13:21
cjcat2266:我也想試試其他的,不過不知道要用在哪邊... 08/17 13:21
icedesign:= =" 光想就不知道腦細胞要死多少了...cj應該ok啦... 08/17 14:37
etrexetrex:酷 簡單易懂的觀察者pattern教學 08/18 09:20