一些Flash的开发习惯
最上层为ActionScript、层数多少自已决定(多了放一个文件夹)。我一般是一个模块一个层(注意一下上下顺序)。代码在IDE里写或者在外面写用#inclued看习惯。
界面层随意。自已怎么排起来,找起来方便就行。
代码顺序:先变量等初始化(可以给其它人修改值的在前面)。后函数名。
先逻辑初始化,后是界面初始化。
库命名用中文,链接名E文。文件夹使用凭个人喜好。声音一般放一个单独的文件夹。
_root未必是一帧,一般只有一帧的flash感觉都比较死板。交互性和灵活性都不够。MC时间轴的结构其实应该好好利用的。
(其实代码写好了_root是几帧都完全没有影响)
简单的loadding用场景,复杂效果(也和_root有关联的)直接在_root里做。
将几个不同功能区的代码分别写到不同的MC中,然后通过MC.function()互相调用。其实这个MC就等于一个实例化的类。
新建实例可以用duplicateMovieClip()实现。
代码用类写绑定到MC或者直接写MC上inclued都差不多(AS1中,我个人不太习惯new Fun那种写法,太长了)。
组合用直接将MC拷一份到当前MC中,命好名字。
MC中实现继承将一个MC的代码拷到另一个MC中,放一个最上层的时间轴(这个比较变态,建议少用,用class)
如果可能,建议尽可能将程序逻辑和界面表现代码分开,两者相互调用。这样有利于更进一步的界面的改进。界面代码和逻辑代码多了写在一起容易混乱。也可能引发逻辑错误。
类里所有public在前。private在后。
给其它类或时间轴调用的public,其它全部private。
尽可能加上类型定义(特别是函数参数和返回类型定义)
设计结构的时候通常用接口来设计。写代码时直接将它拷贝一份改写成类。
类里多用组合,少用继承(只在该用的时候用)