作者cjcat2266 (CJ Cat)
看板Flash
標題Re: [問題] 請問怎麼用語法停止元件??(已爬文)
時間Sun Aug 17 01:54:51 2008
以下方法為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