您的位置: 首页 > 技术文档 > 多媒体制作 > 背叛时间轴·突破IDE
Flash渐进色填充 回到列表 Flash渐进填充调试及个人感想
 背叛时间轴·突破IDE

作者:awflasher 时间: 2006-03-31 文档类型:原创 来自:蓝色理想

首先我想要申明,这个标题确实夸张了。只是希望通过这种夸张能引起各位不愿意重视ActionScript的Flashers的注意。

其实每一个Flasher,特别是经历过Flash4、Flash5的这一批人,都是常年通过实践周来部署作品界面的。包括我自己,对时间轴的熟悉也经历了一个比较长的过程。这个过程中,我也距离Flash的思想越来越近。

先说说IDE的概念吧,相信对于一个界面或者动画设计师来说,IDE绝对是一个足够陌生的名词。其实,我们每天用到的Flash就是一个IDE环境。我在这里更准确地引用如下概念,相信看完后IDE这个词将不再陌生:

引用 wikilib.com
集成开发环境(Integrated Development Environment,简称IDE),又名集成编程环境或可视化开发环境,是为方便软件开发人员进行开发而设计的软件,一般针对某一编程语言开发,大多数为界面友好的可视化环境,一般整合源代码编辑器、调试器、编译器和资源编辑器。
显然,时间轴是IDE的一部分,但我更愿意把时间轴分离出来强调,甚至适度夸张地批判。因为有时候时间轴确实笨重的。如果您不是一个逐帧动画高手,而是一个以开发Flash应用程序(尤其是游戏)的设计师,我想时间轴许多情况下所表现的特性显得十分尴尬。比如MotionTween看起来只有两个关键帧,其实之间的渐变帧都是要耗占文件体积的。

此外,有很多情况下,我们需要动态的管理一些场景上的元素。如果用时间轴,我想恐怕只能用最土的gotoAndPlay、gotoAndStop配合使用了。当然,在Flash4、Flash5时代,确实造就了一批顶级高手,他们仅用gotoAndPlay来完成任务,这些人有着严谨的逻辑思维能力和极好的心态。然而到了MX时代,尤其是MX2k4时代,AS的飞跃发展,导致之前的这种天才设计模式沦为一介莽夫之举!

Flash5中attachMovie的出现,无疑是一场革命性的发展。可惜那个时候用attachMovie的人并不多,因为相比时间轴,它确实挺麻烦的。由于项目需求在那个时候与现在不同,时间轴效果仍然是主流的开发手段。

MX 时代最大的革命我印象最深刻的其实是IDE。Flash5中愚昧的面板到了MX变得那么乖巧听话。MX时代的到来引发了一场Flash制作风暴,越来越多的人(主要是动画制作为主)加入到Flasher这个队伍中来。可惜后来MX2k4和8改变了界面,其实我个人挺喜欢MX的IDE界面设计的!(不知道以后会不会推出一个可制定IDEskin的怀旧版)

MX和MX2k4的推出,使得AS更加规范,项目需求的改变,导致时间轴的效果越来越显得捉襟见肘了。更多的人开始投入动态部署场景的行列,然而值得一提的是,有一些老一辈Flash设计大师似乎仍然不为之所动,MM推出的时间轴特效更是 MX2k4的一大败笔。当然瑕不掩瑜,AS2.0给MX2k4予以无限光芒,这段时间涌现了大量的AS-coder,水平参差不齐,不论如何,这是另一场革命!

这个时代中,项目需求又有所变化,越来越多的复杂的应用程序要通过Flash来完成,要不是半路杀出一个AJAX,我怀疑Javascript真的要被Actionscript盖住光芒了。我自己独立完成的56涂鸦也是使用的MX2k4完成的。

现在到了8,虽然AS没有实质上变革,但项目需求又一次提高,时间轴完全不能独立部署一个优秀的应用程序了。更多的人开始关注Actionscript,开始关注attachMovie这样一个曾经被我们因“麻烦”而嫌弃的语句。

不想太纯粹的讨论技术,于是发了以上一些胡言乱语,现在还是简单介绍一些attachMovie吧。

首先,要明白Flash的基本编译原理。SWF文件中的内容无疑主要来自于库,这个概念相对大家都不会陌生(就是Library)。库中包含了所有的时间轴引用的元件,当然_root也是一个MC元件,它也包括所有的在IDE中的零散图形。剩下的内容就是库中含有linkage ID的元件了。这些元件就是attachMovie的最重要的操作对象!

不想强调太多的理论知识,因为这些内容都可以在帮助文档中找到。我想结合自己的开发经验谈一谈:

首先,attach的内容,尽量不要attach到_root下。因为本来就是要动态的管理MC,如果清一色放到_root下,会导致分类不明确,很难高效率调度、管理MC。我建议在_root下动态建立一个MC。比如,你有一个游戏中,要防止对手和友军,那不妨就建立两个MC容器“NPC_mc” “Enemy_mc”,然后再对这两个mc进行attache:

var NPC:MovieClip = _root.createEmptyMovieClip("NPC_mc",1);
var EMY:MovieClip = _root.createEmptyMovieClip("Enemy_mc",2);
for (var i=0;i<iMax;i++)
NPC.attachMovie(....);
for (var j=0;j<jMax;j++)
EMY.attachMovie(....);

其次,由于是动态建立MC,很多时候我们无暇管理深度,Macromedia Flash 2k4以来,提供了一个非常重要的方法:getNextHightestDepth(),这个方法可以找到当前MC中最深的一个深度,然后以Number型返回。

这样一来,我们经常会看到2k4版本后的一些“模版式”代码:

//某循环内
var d:Number = this.getNextHighestDepth();
this.attachMovie("someLibStr","myMC"+d,d);
//某循环内

显然,代码简单易懂,非常适合动态部署大量的MC(配合循环)

动态地删除则是removeMovieClip,这个语句非常简单,就不赘述了。

最后整理一些常见问题:

1、库中的连接名给错
2、自命名没有随层级变化而变化,强烈推荐用一个名词+深度来命名。
3、深度序号未定义,造成MC指向undefined
4、母MC未定义(这个容易在含有function的情况下出现)

所有这些问题通过trace绝对可以找到,大家多点耐心就行了。

最后祝大家顺利突破IDE、打破时间轴的限制!

经典论坛讨论帖:
http://www.blueidea.com/bbs/NewsDetail.asp?id=2513472

出处:蓝色理想
责任编辑:moby

◎进入论坛Flash专栏版块参加讨论

相关文章 更多相关链接
Flash渐进色填充
Flash Player 8.5 开始公测
用纯AS写滚动条
Intel Mac 版 Flash Player 发布
Flash 与外部通讯的所有方法
作者文章
完美的loading—完美到底
关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
浅谈JavaScript编程语言的编码规范
如何在illustrator中绘制台历
Ps简单绘制一个可爱的铅笔图标
数据同步算法研究
用ps作简单的作品展示页面
CSS定位机制之一:普通流
25个最佳最闪亮的Eclipse开发项目
Illustrator中制作针线缝制文字效果
Photoshop制作印刷凹凸字体
VS2010中创建自定义SQL Rule

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2