论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

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

文章类别:Flash | 发表日期:2008-9-21 15:07:54

  本文摘自Moock著的<<action 权威指南>>中的高级主题,不敢独享,故手工录入上来供大家看看:)







影片剪辑在播放器中的实现是和对象分开的,虽然两者在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",虽然函数在很大程序上和对象类似.





Macromedia 公司,FLASH小组,主工程师---------Gary Grossman



上一篇:{技巧}关于color对象的使用方法 人气:2834
下一篇:{技巧}商业flash设计经验谈 人气:2601
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058