作者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
1F:→ bowpea:推推!!真的是太感谢老大您的回文了!!实在太详细了!不过,我 08/17 02:16
2F:→ bowpea:这个超嫩AS新手实在是...看不懂阿....等我认识多一点後我会 08/17 02:17
3F:→ bowpea:回来研究这篇的=_="!!!不过希望这篇能够帮到其他板友先!!! 08/17 02:17
4F:推 icedesign:观察者? 08/17 10:17
5F:→ cjcat2266:是的,这就是Observer pattern 08/17 10:42
6F:→ cjcat2266:话说我超爱Observer pattern...我也一堆API都是用这个 08/17 13:20
7F:→ cjcat2266:Carousel, Floater, Fader, Chaser, Dragger, ...etc. 08/17 13:21
8F:→ cjcat2266:我也想试试其他的,不过不知道要用在哪边... 08/17 13:21
9F:推 icedesign:= =" 光想就不知道脑细胞要死多少了...cj应该ok啦... 08/17 14:37
10F:推 etrexetrex:酷 简单易懂的观察者pattern教学 08/18 09:20