Flash由于生成文件体积小,用户体验丰富,在全 球约99%的计算机终端和其他移动终端上得到了广 泛应用[1].而别的开发软件如Autherware、Director 等,生成文件体积庞大,不太适合中小型项目,特别是 网络交互。很多用户在利用Flash进行初期开发的时 候往往不知道该选择哪种版本。虽然Flash CS5已经 推出,但笔者强烈推荐大家使用英文版Flash8.0。对 一般的多媒体应用,Flash8.0提供了足够丰富的功 能。Flash8.0以上的版本涉及到完善、系统的面向对 象编程(OOP),对初学者来说要求较高,不推荐使用。 Flash MX 2004以下的版本是ASl.0到AS2.0的过 度阶段,AS不是很完善,也不推荐使用。另外,由于汉 化水平层次不齐,导致汉化版本众多,存在或多或少的 汉化bug,不太利于项目的稳定开发和维护。Flash8.0 进行多媒体开发时,常用的AS命令并不多,用户不用 担心英语基础不好不容易掌握。 下面介绍多媒体应用中常用的AS技术:动态文 本、帧切换、事件处理、缓动和动态遮罩。 1 动态文本(Dynamic Text) Flash8.0中提供有3种文本类型:静态文本 (Static)、输入文本(Input)和动态文本(Dynamic)。静 态文本和输入文本的使用比较简单,而动态文本的使 用则需要注意很多。 为了显示流畅和美观,动态文本[2】一般要嵌入 (Embed)字符,但生成的.swf文件的体积会增加许多。所以动态文本比较适合显示小块文本内容如导航 (Nadgafion)、标题(Title)等-不太适合显示内容较多 的文本.如正文。另外一方面·嵌入(Embed)字符还可 以解决显示内容丢失(不显示)的问题。如果旋转包含 有动态文本的MC,将导致其显示内窖丢失(不显示)。 解决的方法就是将显示的字符嵌入进去I也可以用通 过设量动态文本的Var变量域加以解决。对MC缩放 不会导致显示内容丢失. 为了便于惨改和雏护,一般使用数组(Array)将 动态文本所用的功能相似的文本内容组织在一起.下 面语句对4个包古有动态文本(dis_txt)的导航菜单 MC(nav0_nlc,nayl_mc、nav2_mc、nay3_mc)赋 值. var title—afr,Array= new Array("Main",’Pics’, "Files","Email")//定义导航文本集, for(var i,Number=0;i<title_art.1ength,i++){ this["nav"+i+'_mc"].dis_txt.text=title_arr[i]; }//动态一值; 当导航内容变化或者移作它用的时候,只要修改 MC的数量和title_art数组就可以,扩展性和维护性 大大增强。 2帧切换(Frame.HOP) 一个多媒体应用一般会包古有多个MC.太多的 MC会导致库的管理混乱。除了在库(Library)里分门 别类地建立文件夹外,还可以采用帧切换(Frame— HOP)技术. 杖切换就是将功能相同的Mc(如正文内容、导航 图标icon)集合刭同一个MC的不同杖上,在使用的时 候,采用gotoAndStop()语句动态切换.这样做一方面 便于库的管理和维护,一方面可以有效解决采用嵌人 大块动态文本字符导致swf文件体积庞大的问题。 下面语句使场景中5个MC停在同一个MC的不 同帧上。从而显示不同的内容. var mc_len=5;//MC的个效 for(var i ;Number=0; i<mc_len,i++)( this['dis'+i+’'mc'].gotoAndStop(i+1),,/显示不 同的帧 } 3事件处理(Event_handling) 一个具有良好交互的多媒体应用可以方便用户选 择其感兴趣的内容。交互实际上就是事件处理口1或事 件响应。Flash MX 2004以下的版本事件处理的方式 多种多样.事件处理代码既可以写在元件本身。也可以 写在时同轴上,还可以写在外部.a8上.这样虽然报灵 活,但是会导致后期的代码维护(寻抗)极不方便。 Flash8.0以上的版本规范了代码的位置,只可以写在 时间轴或外部.as文件中。极大地方便了后续的雏护 工作。Flash8.0中事件处理主要集中在对Mc的处理 上,用的最多的是MC的onRelease函数、onRollOvet 函数、ouRollOut函数。如l yourName—mc.onRelease=function(){ //您的操作 }. yourName—mc.onRollOver=functlonO f //您的操作 '· yourName—mc.onRollOut=function(){ //您的操作 }· 这几个函数通常结合在一起使用,会产生丰富的 用户体验·一般是将onRollOver、onRollOut的效果 |