| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > Flash经验技巧 > 文章正文 用户登录
[征文]Mcq0544的网
[征文]Mcq0544的网
百度贴吧人气TOP6
百度贴吧人气TOP6
mc的本地坐标和舞
MC里的按钮转换场
mc长时间绘制多消
运用for循环来对多
鼠标与mc位置控制
ActionScript循序

MC和对象数据类型内在实现之间的差别           

MC和对象数据类型内在实现之间的差别

作者:佚名 来源:闪吧 作者: Moock 更新:2007-1-13 20:59:19 错误报告 我要投稿
          影片剪辑在播放器中的实现是和对象分开的,虽然两者在actionscript中显得几乎是相同的.主要的差别在于它们被分配和解除分配的方式不同,正规对象采用的是引用计数和垃圾回收的方式,而影片剪辑的生命周期是由时间线控制的,或者由duplicateMovieClip()和removeMovieClip()函数来精确控制.

         如果用x=new Array()来声明一个数组,然后设置x=null,ActionScript会马上探测出没有其他引用指向该Array对象(也就是没有指向它的变量),然后就会对它进行回收(也就是释放它所使用的内存空间).定期作记录和清扫的垃圾回收消除了包含循环
用的对象(也就是说,用这个高级技术来确保当两个无用的对象互相指向对方的时候将它们的空间释放掉).

         影片剪辑的情况有所不同,它们依靠时间线上对象的放置而出现或者消失.如果它们是动态创建的(用duplicateMovieClip()创建),它们就只有当使用removeMovieClip()
的时候才会被除去.

         指向对象的是指针(内存地址引用),引用追踪和垃圾回收保护用户不让引用和存储空间泄露.但是,指向影片剪辑的引用是"软"引用----这个引用其实包含的是一个绝对目标路径,如果你有一个影片剪辑foo,并设置x=foo(将X设置为指向FOO的引用),然后用removeMovieClip()来删除foo,并创建另外一个名叫foo的剪辑,引用x就又可用了(它会指向新的foo剪辑).

        正规对象则不同----对象引用防止对象被首先删除.因此,如果影片剪辑是对象,只要变量x指向它,removeMovieClip()就不会从内存空间中删除对象,此外,如果你创建了第二个名为foo的影片剪辑,旧的foo和新的foo可以同时存在,虽然旧的foo不会再得到渲染.

        因此,一个独特的movieclip类型是恰当的,因为它和object类型有这么大的差别.由于类似的原因, typeof操作符对函数会返回"function",虽然函数在很大程序上和对象类似.





                                             



文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。