背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读内容

Timeline类

[日期:2008-05-11] 来源:  作者: [字体: ]
  大家可能为了onEnterFrame事件或sound 的holder在bitmap上画图形 e.t.c创建mc吧
经常取奇怪的名字与深度,为了不冲突
这是一个为得到任意不显示的mc的类
名字与深度由自动控制,只需要一个位于动态层的空的mc即可

源文件下载:temp_08051120042309.zip

用法:
 
 import fl.event.Timeline; 
Timeline.init(/*一个位于动态层的空的mc*/); 
var mc:MovieClip = Timeline.get(); 
//这个mc想怎么用,就怎么用 
/* Do something…*/ 
mc.removeMovieClip(); 
//用完删除即可。 
Class: 
import fl.util.Stack; 
import fl.error.TimelineNotInitError; 
import fl.error.ParamError; 
class fl.event.Timeline { 
              static var parent:MovieClip; 
              static var depth:Number; 
              static var closeList; 
              static var inited:Boolean = false; 
              /** 
               *初始化 
               *@see fl.util.Stack 
               *@param mc:  
               *@return void 
               */ 
              public static function init(mc:MovieClip):Void { 
                            parent = mc; 
                            parent.clear(); 
                            //parent._visible = false; 
                            depth = 0; 
                            inited = true; 
                            closeList = new Stack(); 
              } 
              /** 
               *得到一个mc 
               *@see fl.error.TimelineNotInit 
               *@throw TimelineNotInit() 
               *@return  
               */ 
              public static function get():MovieClip { 
                            if (!inited) { 
                                          throw new TimelineNotInitError(); 
                            } 
                            var redepth:Number; 
                            try { 
                                          redepth = Number(closeList.pop()); 
                            } catch (e) { 
                                          redepth = depth++; 
                            } 
                            var result:MovieClip = parent.createEmptyMovieClip("p" + redepth, redepth); 
                            result.onUnload = function() { 
                                          Timeline.del(this); 
                            }; 
                            return result; 
              } 
              /** 
               *删除 
               *@see fl.error.Param 
               *@throw Param("mc") 
               *@param mc:  
               *@return void 
               */ 
              public static function remove(mc:MovieClip):Void { 
                            if (mc._parent != parent) { 
                                          throw new ParamError("mc"); 
                            } 
                            closeList.push(mc.getDepth()); 
                            mc.removeMovieClip(); 
              } 
              /** 
               *清空 
               *@return void 
               */ 
              public static function clear():Void { 
                            for (var i in parent) { 
                                          parent[i].removeMovieClip(); 
                            } 
                            depth = 0; 
                            closeList.init(); 
              } 
              static function del(mc:MovieClip):Void { 
                            closeList.push(mc.getDepth()); 
              } 
              private function Timeline() { 
              } 
}
阅读:
录入:admin

推荐 】 【 打印
相关新闻      
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:
内容查询