用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   无论老手还是新手,只要有自己的想法和建议,请大家积极投稿本栏目
当前位置 :首页>业界杂谈>经验技巧>列表

flash使用习惯上的一些建议分享

[来源:友吧 | 作者:朱高 | 时间:2008-04-25 | 点击:  | 收藏本文  【 】]

每个人都有自己的习惯和方法,下面这些是我学习过程中逐渐积累起来的,供各位参考。好的习惯需要时间的积淀,希望这一章的文字能给所有初学Flash的朋友们带去洗礼。很多时候,我们所要考虑的,都应当是更远,而不仅是眼前。

0.1 如果能够,我想告诉所有Flasher,把所有工作都放在一个MC里

许多朋友都习惯在新建一个空文档之后,直接在根时间轴(_root)进行制作,比如进行补间动作,进行形状变化等。确实,以前我也习惯这么做,这种方式大约陪伴了我两年的时间,直到后来发现明显不利于团队合作和文件的移植。

设想一下,假如我们按这种方式,直接在时间轴上进行制作,那么当我们把文件转交给同事的时候,当这个文件需要和另一个文件进行组合的时候,这种方式明显暴露出了它的弊端。

我这里所讲的“把所有工作都放在一个MC里”,是在新建一个空文档之后,在根时间轴新建一个影片剪辑(MovieClip,简称MC),坐标设定为(0,0),以保持根时间轴的坐标属性,我们进入到这个影片剪辑里再来进行制作。如此,将大大提高团队协作的效率,我们自身在进行文件移植复制时,也同样变得无比的自如。过去是要复制时间轴上很麻烦的帧,而现在,只需要复制一个MC就解决问题了。当整个场景的尺寸等因素发生变化时,我们也能够很方便的进行调整。并且,这种方式比起先前的方式,并不会带来任何制作上的缺憾。事实上,根时间轴(_root)本身就是一个MC,只不过没有存在于库中。虽然我们无缘看到她的容貌,可是我们有幸在打开Flash的那一刻开始便进入了她的心灵。

另外,把所有工作都放在一个MC里,还避免了在本地播放 SWF 文件时可以用 Ctrl + Enter 跳过根时间轴上stop() 的问题。细心一些还会发现,倘若根时间轴上只有一个MC,那么在默认情况下,该SWF的右键菜单将看不到“播放”、“循环”、“快进”等项,Ctrl + Enter自然也就无效了。如果真要说把所有工作都放在一个MC里会带来什么不便,在某些场合里,这也许可以算作一条。然而实际中有太多的案例可以证明:把所有工作都放在一个MC里,在大多数场合里,无疑是利远远大于弊的。

这一条主要还是给Flash Designer的建议,Flash Programer也不妨作一辩证参考。我做Flash程序设计师已有一段时间,既是一名Flash Designer,又是一名Flash Programer,所以我对这一点有很深的体会。同时我也很想告诉所有热爱学习的朋友们,一个人要想左右脑并用是完全有可能的,只不过需要一个前提,那就是兴趣加努力。

0.2 多用_parent,少用_root

这一条和上面一条关系密切。_root,我们通常把它叫做绝对路径,而_parent则是相对路径。使用_root有个好处,就是在很深的MC里,只需要很短的一句代码就可以返回到根时间轴去调用我们需要的对象。在使用过程中,可以用_parent替代的,建议尽量用_parent替代,否则当一个MC在包含关系上出现变化时(例如把当前MC插入到另外的MC内或者另一个文档中),大多数含有_root的语句都将受到影响。

举个很简单也很常见的一个例子,我们有时需要将一种已有的动画效果应用到一个新的影片中,此时却发现,把效果复制到新影片之后,效果消失了,原因是原来在根时间轴的帧,我们可能需要放在新影片的某一个MC里,这时我们很容易就可以体会到相对路径的优势。

尽量使用_parent,同样是为了便于团队协作以及文件的移植。如果有大量相同的路径需要用到_root,建议采用类似下面的写法:

  • var mcRoot = _root.myMC;
    test_btn1.onRelease = function(){
      mcRoot.gotoAndPlay("label_1");
    }
    test_btn2.onRelease = function(){
      mcRoot.gotoAndStop("label_2");
    }

这样,如果MC出现包含关系的变化,只需要更改mcRoot的初始值即可,而不必更改所有的路径语句。

0.3 多用gotoAndPlay(Label),少用gotoAndPlay(Frame)

这是初学者经常会遇到的一个问题。Label在这里是帧的标签名,Frame是帧数,使用gotoAndPlay(Label)远远要比使用gotoAndPlay(Frame)来得有意义。两者的写法举例如下:

gotoAndPlay("theSecond");//跳转到名为"theSecond"的帧,注意,theSecond需要加双引号。

gotoAndPlay(2);//跳转到第二帧,帧数不需要加引号。

在大多数的情况下,都建议使用前者。例如上面的语句,假如在第二帧前加了一帧,那么语句就需要改成gotoAndPlay(3),而相对的,我们如果事先给第二帧添加一个标签,例如"theSecond",无论前面的帧数如何修改,都不会影响到我们的语句了。

上一页12 3 下一页
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:在线玩flash游戏时,上下方向键带动浏览器滚动条
下一篇:如何使用DRM保护你的Flash Lite内容
Tags:    
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  业界杂谈
  业界前沿   资源分享
  经验技巧   七嘴八舌
  热门文章
·如何把fla,swf文件转换为flv格式问答
·flv制作工具大全
·Adobe Flex编码指南v1.2(AS3 Flex3程
·2006年Flex大型优秀网站欣赏
·在线flv转换mpeg4
·Flash 3D引擎汇集(附演示)
·flash8中文版高速下载地址
·我对as3声音架构的理解
·电脑flash绘画心得
·Flash常用的3D engine心得分享
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号