分享
 
 
 

养成Flash ActionScript代码编写好习惯

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

每个人玩Flash一段时间后,都会形成自己的一套Flash ActionScript代码编写习惯。好的代码编写习惯可以尽可能避免低级失误和不必要的麻烦,从而加速开发进程,提高开发质量。火山现在虽然只是业余爱好者,但两年的积累,再加上“火山之家”的开发,也自然而然的形成了火山特色的开发习惯。这些习惯从某种程度反映了我现在的开发水平,所以它基本上都是围绕着小型、快捷、面向过程的开发模式形成的,很多地方还很幼稚。不过以后随着我能力的不断提高,以及对面向对象编程思想的学习,它肯定还要不断的更新和完善。

库文件夹分类习惯

·声音、图片各自放到独立的文件夹。

·MC则根据栏目进行分类到不同的文件夹。

·一般不用图形元件。

时间轴管理习惯

·最上层为AS层,如果AS层超过三层,则建立专门的AS图层文件夹。多层AS层需要注意代码执行顺序。

·第二层为标签层。

·主场景其它图层按栏目进行文件夹分类,但一个MC内一般仅为一个栏目,不用分类。

·相同性质而且相互影响不大的元件放一层,其它的独立分层,并按视觉效果进行上下分层。

·loading、过渡动画、功能页面分在不同的场景。

元件命名习惯

·库中元件的命名:采用中文命名,后边添加特定元件的后缀,比如我有一个“导航”的元件,按钮则命名为:“导航BTN”,影片剪辑则命名为:“导航MC”。声音和图片则直接使用“导航”命名。

·命名的三步统一性:即元件在库中的名字,在场景中的实例名,以及所在层的名字尽量保持统一。比如一个元件在库中的名字为:“导航MC“,则它在场景中的实例名将为“daohang_mc”,它所在的层名将为“导航”。这样在元件非常多,代码编写量非常大的时候,可以有效的节省命名和查找时间,同时避免引用错误。

·文本域命名:如果一个MC中仅有一个动态文本域,则统一命名为:“wenben_txt”,其变量名为“wenben_var”。如果有两个以上动态文本域,则根据其功能进行命名。

架构习惯

·三层分离:主场景数据层,动画层,代码功能层进行分离。由于数据加载完成时,会导致短暂的动画不流畅,所以我一般在loading场景中把数据一起加载完成,然后进入动画场景。大量的时间轴动画又会导致项目结构混乱,所以我一般又会把动画也处理成独立场景,将动画最后一贞复制,然后建立新的功能场景并粘贴,所有的核心代码都集中在功能场景中。

·MC结构:由于每个MC基本又相当一个独立的小SWF,所以它的结构也尽量遵从“三层分离”的思想。

·MC双贞式:每个MC都保持两贞。尽管大部分情况下,都可以用一贞完成任务,但我还是会专门留一贞,为可能的贞数据刷新留有余地。

·元件嵌套结构一般不超过三层,迫不得已的情况下,也要保证代码不写在三层以下的元件上。

·外部调用SWF全部定义:_lockroot = true。

·外部调用的SWF中绝不使用_level0,除非特别需要。

向过程的结构化AS代码编写习惯

一、代码分布

所有代码均写在时间轴上,一般都在第一贞,元件上绝不写代码。主场景上的代码负责对整个系统的初始设置,各MC时间轴上的代码各成一体。

二、代码结构

按代码编辑器中从上到下的顺序。

1系统初始化:

①界面初始化:包括编码设置,舞台设置,元件可见性,可用性等等初始设置。

②变量初始化:时间轴或者全局变量初始化。

③数组初始化:初始需要的数组,并利用循环进行赋值。

④对象初始化:初始需要的所有对象,并注册侦听器。

2、代码逻辑结构:这里是整个代码的逻辑结构,一般通过一系列的函数调用使各种功能有机结合。

3、功能块儿:一般按逻辑结构中的顺序定义各个功能块儿,并封装到函数中。

三、命名习惯

全部采用中文拼音全拼。

1、变量命名:使用“var”进行时间轴变量声明,并且采用中文全拼命名,示例:var liuyan="";

2、数组和对象命名:采用全拼加对应的后缀,示例:var shuzu_array=new Array(); var liuyan_lv=new LoadVars();

3、函数局域变量命名:使用全拼加“fc”后缀,示例:function fanye(anniu_fc);

4、外部通信变量命名:外部传递给FLASH的变量,添加对应的后缀:

示例:txt传递给FLASH的变量用:liuyan_txt,ASP则为:liuyan_asp。

FLASH传递给外部的变量加“flash”后缀,示例:yeshu_flash。

四、注释习惯

1、注释的位置:我一般习惯把注释写在代码前面。也就是先注释再代码。

2、注释频率:基本上是逐行注释,最少也是逐功能注释。

3、注释结构:

模块级代码用"==============="分隔。

功能级代码用"——————"分隔。

一般注释直接用"//"。

下面是经典会员noahgenius补充的一些资料。

1、自定义元件库的管理

推荐用文件夹分类。最大的类别应该是功能模块,比如说就是导航,建立导航文件夹,文件夹里再有第二级的分类,我按照的是图片,按钮(包括MC按钮),MC,有关联类的MC,主场景MC(就是可以被其他模块使用的,像Interface中的接口)。另外还有有个common功能模块,放组件,声音,视频什么的共用元件。

2、方法的命名

变量的命名楼主都说了,我想谈谈函数的命名。推荐“骆驼”试命名法,从语法上来说是动宾结构,比如getMovieClipName(),四个词,第一个是动词,除第一个词外首字母大写,这样的命名比较好说明函数的用途。

3、提高类的颗粒度,类功能单一化

多写几个类没有坏处,类的功能尽量单一,不要让一个类做各种各样不相干的事,这样后期的修改会非常麻烦。

4、基于接口的OOP编程

java要求为每个类都配个interface,其实不用那么夸张。但是这个思路值得借鉴,让接口来代替具体的实现类跟别的类交互,如果以后有扩展,只需要再写个实现类,不用修改交互部分的代码了。

5、设计比编码重要

一上来就写代码绝对是不行的。先好好规划自己的系统,从大的流程到细小的逻辑实现,尽量的做到心中有数。这样才不会在做的过程中感觉混乱。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有