SWiSHmax2与FlashCS3的脚本语言对比分析

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:lfshiyi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:针对两款开发制作Flash作品的工具软件中的脚本语言,分别从两者的相同点、各自的独有的特点三个方面详细进行了分析比较,得出了两者在实际开发制作过程中各有优长的结论,提出了根据要开发制作的Flash作品的具体情况,灵活使用两种工具软件的思想,并且也给出具体的运用方法。
  关键词:swish;flash;flash动画;脚本语言
  中图分类号:TP312文献标识码:A文章编号:1009-3044(2009)04-0913-02
  Comparison Analysis on Script Language of SWiSHmax2 and FlashCS3
  ZHANG Liu-yi, TAO An, HUANG Yi-ming
  (College of PLA Artillery, Hefei 230031, China)
  Abstract: Facing with the script language of two kinds of software in developing flash works, each has its good points is made as conclusion in this paper based on the comparisons of their characteristics individual and in common. Meanwhile, the thoughts and way of using the two kinds of software in developing flash works based on the actual situation are also put forward.
  Key words: swish; flash; flash animation; script language
  1 引言
  利用Adobe公司的Flash工具软件开发制作Flash作品(包括动画、演示文稿、网站、游戏、应用程序等等)是顺理成章的,可谓正宗。当前Flash的最流行版本为FlashCS3(最新版本FlashCS4刚刚于2008年11月15日正式发布,本文暂不做论述)。但能开发制作Flash作品的工具软件还有许多,其中最具代表性是SWiSHzone公司的SWiSH工具软件。当前SWiSH的最新版本为SWiSHmax2(版本4)。SWiSH 在绝大多数的功能上都可以替代Flash,而且使用操作更加简单方便。特别是它内置有350多种效果,使用户能以极其简单操作,制作出非常精彩的Flash作品。
  Flash拥有功能强大的脚本语言ActionScript,FlashCS3的脚本语言升级为ActionScript 3.0 ,同时兼容ActionScript 2.0 。与Flash相似,SWiSH也拥有功能强大的脚本语言,而且与ActionScript基本相同。SWiSHmax2的脚本语言基本与ActionScript 2.0等同。下面,我们就SWiSHmax2的脚本语言与FlashCS3的脚本语言进行对比分析。
  2 两种脚本语言基本相同,绝大部分内容完全一致
  1) ActionScript遵循ECMA-262标准,属于ECMAScript,是面向对象的程序设计(OOP)语言,其语法规则和风格非常接近于JavaScript。SWiSH产生来源于Flash,SWiSH的脚本语言也来源于Flash的脚本语言ActionScript,也就是说,SWiSH脚本语言的语法规则和风格也非常接近于JavaScript。
  2) 象一般面向对象的编程(OOP)语言一样,两种脚本语言都具有对象、实例、类成员和接口。都具有继承性、封装性、多态性。
  3) 两种脚本语言都主要面向“帧(Frame)”对象和“影片剪辑(Movie Clip)” 对象编程。
  4) 在Flash和SWiSH编程过程中都可调用外部脚本文件,所使用的方法一样,通过#include语句调用。
  5) 两种脚本语言的语法规则、保留字、操作符、函数、语句、对象、类等等基本相同。
  6) Flash和SWiSH编写脚本的方式方法基本一致。Flash里有动作面板和编程助手,SWiSHmax2里有完全相似的脚本面板和编程助手(协助面板)。两者编程的基本方法都是通过面板添加脚本,甚至用户可以在完全不懂脚本语言的情况下编写脚本。也可以在专家模式下直接在脚本窗口输入脚本代码。
  3 SWiSH脚本语言相比Flash脚本语言也有创新特点
  SWiSH和Flash之间有版本对应关系,SWiSH落后于Flash的版本。 SWiSHmax2对应于FlashMX,落后Flash CS3三个版本。SWiSHmax2脚本语言与Flash CS3脚本语言本身就有版本上的差异。
  SWiSHmax2之前版本明确称其脚本语言为SWiSHScript, SWiSHmax2没有明确其脚本语言的名称,但在它的脚本行中却有<%SWISHSCRIPT%>的标识,并且明确称其脚本语言类似于ActionScript。虽然,SWiSHmax2脚本语言整体上弱于Flash CS3的脚本语言,但它也许多创新的特点,有的甚至是对ActionScript的扩展与增强。主要表现在以下方面:
  1) SWiSHmax2的脚本语言的创新特点首先表现在与其之前版本脚本语言的进步。如:以前版本的SWiSH假设用到没有定义过的变量,则会出现不可预知的问题,SWiSHmax2则能给出一个错误信息,如:"cannot find _loadXXXXXXXX".这种情况常在从一个swf文件调用另一个swf文件时出现。
  2) eval()函数的使用,以前SWiSH脚本中可以简化为:(objname)._x,现在SWiSHmax2脚本中要严格为:eval(objname)._x。
  3) 对保留字的限制与输出的级别无关,例如:Date在SWF5之后是保留字,如果使用了Date作为变量名,即使选择输出SWF4,也一样要显示错误。
  4) 编程对象进一步扩展,SWiSHmax2可以将简单的形状(Shape)和文本(Text)作为编程对象。这是对ActionScript编程对象的扩展。
  5) 变量与字符串的转换不同:变量用来存储数字和字符串,根据脚本中上下文的意义,可以确定所存储的是数字还是字符串,并且是否需要转换。操作符 , <, <=, ==, !=, => 和 >,可以将数字、字符串或变量作为操作数。在SWF4中,变量被假设为数字,并且自动进行适当的转换。在SWF5及其之后中,都按真实的值存储变量。操作符“ ”具有字符串优先性质,操作符“<, <=, ==, !=, => 和 >”则有数字优先性质,而操作符“add, lt, le, eq, ne, ge, gt”则假设变量是字符串并具有字符串优先性质。这些转换命令通过脚本中<%SWISHSCRIPT%>行来体现。
  6) 物理特性:SWiSHmax2的扩展了对象或影片剪辑的属性,增加了物理特性:速度、加速度和阻力。用户可以为对象或影片剪辑定义这些物理属性。这是SWiSH脚本语言的创新。
  7) SWiSHmax2之前版本,都是使用“精灵(Sprite)”这一术语,SWiSHmax2开始使用与相同的术语——影片剪辑(Movie Clip),为了与以前的兼容性,在SWiSHmax2脚本中仍然支持以前的Sprite对象。但Sprite并不能支持所有的Movie Clip对象的属性和方法。
  4 Flash脚本语言中有SWiSH无可比拟的功能特点
  4.1 ActionScript 3.0相对ActionScript2.0的功能增强和提高
  由于FlashCS3可以支持两种脚本语言,即:ActionScript2.0和 ActionScript 3.0。所以Flash CS3脚本语言相对SWiSHmax2脚本语言优越性首先是ActionScript 3.0相对ActionScript2.0的功能增强和提高。ActionScript 3.0 的脚本编写功能超越了 ActionScript 的早期版本。主要表现在:ActionScript 3.0更方便创建拥有大型数据集和面向对象的可重用代码库的高度复杂应用程序。虽然 ActionScript 3.0 对于在 Adobe Flash Player 9 中运行的内容并不是必需的,但它使用新型的虚拟机 AVM2 实现了性能的改善。ActionScript 3.0 代码的执行速度可以比以前ActionScript 代码快 10 倍。
  旧版本的 ActionScript 虚拟机 AVM1 执行 ActionScript 1.0 和 ActionScript 2.0 代码。为了向后兼容现有内容和原先内容,Flash Player 9 仍支持 AVM1。
  虽然 ActionScript3.0 包含了ActionScript 1.0 和 ActionScript 2.0的许多类和功能,但 ActionScript 3.0 在架构和概念上与之前的 ActionScript 版本是有较大区别的。
  ActionScript 3.0的改进主要分为两部分,一是新增的核心语言功能,二是改进的 Flash Player API能够更好地控制低级对象。
  新增的核心语言功能包括:1) 针对运行时的异常错误的情形比原来多;2) 类型信息在运行时保留,并可用于多种目的;3) 引入了密封类的概念;4) 使闭包方法可以自动记起它的原始对象实例;5) 实现了 ECMAScript for XML (E4X);6) 实现了对正则表达式的支持;7) 命名空间使用统一资源标识符 (URI);8)包含 int 和 uint 两种类型,改变了原来单一数值类型 Number。
  改进的Flash Player API 功能包括:1) 应用DOM3 事件模型,提供了一种生成并处理事件消息的标准方法;2) 新增用于访问 Flash Player 显示列表的 API;3) 处理动态数据和内容;4)各种 API 提供了对数据的低级访问;包含一个用于所有与文本相关的 API 的 flash.text 包。
  4.2 滤镜的使用
  FlashCS3在用户界面状态即可使用7个滤镜(投影,模糊,发光,斜角,渐变发光,渐变斜角,渐变颜色),另外2个滤镜(ConvolutionFilter,DisplacementMapFilter)只有通过ActionScript代码来使用。SWiSHmax2也使用SWF8(FlashPlayer8及之后的播放器所支持的滤镜)滤镜,也是9个,它们是:BevelFilter,BlurFilter,ColorMatrixFilter,ConvolutionFilter,DisplacementMapFilter,DropShadowFilter,GlowFilter,GradientBevelFilter,GradientGlowFilter。但是,它们的重要区别是:FlashCS3可以在普通文档编辑状态使用滤镜,也可以通过脚本代码使用滤镜。而SWiSHmax2只有通过脚本代码才能使用滤镜。
  4.3 行为面板的使用
  FlashCS3具有SWiSHmax2所没有的“行为”概念。所谓行为就是预定义的完全某些常见任务的脚本,用户可以方便地将行为添加到 FLA 文件中的对象。 行为提供了的以下功能:帧的导航;加载外部 SWF 文件和 JPEG 文件;控制影片剪辑的层叠顺序;影片剪辑拖动等。
  行为提供了使用户避免编写 ActionScript代码的便捷途径,也可帮助用户了解 ActionScript 的工作方式。
  行为仅对 ActionScript 2.0 及更早版本可用,并且只有在“动作”面板中工作时才可用,在外部脚本文件中工作时则不可用。通常,用户可以在文档中选择一个触发对象(如影片剪辑或按钮),选择“行为”面板上的“增加”,然后选择行为。
  5 扬长避短相互补充,灵活运用两种Flash工具
  通过以上分析比较可以得出结论,单纯就脚本语言本身而言,FlashCS3明显比SWiSHmax2高一档次,整体功能优越,给代码开发者提供明显高于SWiSHmax2的编程空间。但就开发制作Flash作品而言,许多类型的Flash作品都对脚本的依赖性很低,许多作品几乎不需要脚本。而有着350种效果的SWiSHmax2完成这些任务能体现出更大的优越性,工作效率大大提高,而且,对于大多数情况下的脚本需求,SWiSHmax2的脚本语言和SWiSHmax2所提供的编程工具也方便快捷完成。
  根据实际工作中开发制作Flash作品的具体类型特点不同,恰当选择使用开发工具无疑是最佳选择。Flash和SWiSH在使用方法的相似性和脚本语言的一致性,使同一用户使用两种工具进行开发不仅可能,而且易行,两个工具之间的转换是平滑的。
  两种开发工具的综合运用可以有两种形式:一是同一开发者根据不同作品的不同特点而选择一种工具;二是同一开发者对同一个作品,根据其不同内容、环节、功能等特点的不同而采用不同的工具,即:同一个作品中有的部分是用Flash开发制作的,有的部分是用SWiSH开发制作的。虽然,两者的源文件不同(*.fla和*.swi),且不能互相导入,利用*.swf文件互相导入又完全损失了脚本信息。
  同一个作品使用两种工具开发制作的方法是:首先,将适合SWiSH制作的部分用SWiSH制作出来,输出为*.swf文件;其次,使用SWF文件反编译工具(选用能反编译出脚本代码的版本)将*.swf文件反编译成*.fla文件;第三,将*.fla文件调入Flash完成适合Flash的部分。
  参考文献:
  [1] 2008 Adobe Systems Incorporated. Help Resource Center[EB/OL]. http://www.adobe.com/support/documentation/.
  [2] 2008 SWiSHzone.com Pty Ltd. SWiSH Max 2 User’s Guide[EB/OL]. http://www.swishzone.com/manuals/max2/index.html.
  
  张六一(1961-),男,河南南阳人,高级工程师,研究方向:多媒体技术。
其他文献
摘要:该文在分析和研究了WCF原理特性的基础上结合作者多年的ERP系统架构与实现经验,提出了一种基于WCF的分布式的信息系统的结构模型(B/S/S与C/S/S模型结构),并基于此模型结构设计了一种多层的分布式软件体系架构,该结构模型与体系架构有着更好的灵活性、安全性、可扩展性,并且该架构模型和体系架构支持多种网络终端设备。  关键词:WCF;结构模型;体系架构;信息系统;B/US/S;C/S/S 
摘要:Ada语言源代码经编译器编译后生成一个后缀名为Ali的文本文件。该Ali文件中包含了丰富的有关Ada源代码的信息。该文剖析了由M1750 Ada编译器编译生成的Ali文件内包含的具体信息内容,并介绍了基于Ali文件的分析并结合Lex词法分析工具来实现ADA语言静态分析器的过程。  关键词:Ali文件;Ada语言;Lex;静态分析器  中图分类号:TP311 文献标识码:A文章编号:1009-
摘要:自人类文明诞生之日起,人文精神就成了伴随人类文明演进的一个永恒话题。外国文学著作中涵盖的人文主义精神值得我们借鉴与思考。本文以美国文学巨匠海明威的小说《老人与海》为例,简要分析其中所折射出的纯朴人文精神以及在面对生存、发展中的阻碍表现出来的不放弃的进取精神。同时主人公对人生目标执着追求的奋斗精神、不畏艰险敢于拼搏的牺牲精神和作者对构筑理想社会的深刻观点也值得我们探讨与借鉴。  关键词:外国文
摘要:在我国大多数高校中,非计算机专业的学生普遍认为计算机教学中的程序语言设计课程非常难学。该文从教学内容、教学手段、教学方法等方面介绍了一些关于课程的改革建议,以利于培养学生学习兴趣和问题分析及解决的能力。   关键词:非计算机;VB;教学手段;教学方法;教学改革  中图分类号:G424 文献标识码:A 文章编号:1009-3044(2009)22-00000-00    目前的社会发展已经进入
摘要:分析非泛型的Java系统存在的数据类型转换安全问题,提出基于Java泛型的解决方案。通过对泛型的原理分析,探讨Java泛型的实际应用。并在此基础上,总结Java泛型的的特点。  关键词:泛型;对象包装;数据类型转换;集合  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)22-690-03  Research on Java Generics   WU De-pe
王卫新、隋晓荻等著的《英国文学批评史》一书,揭示了英国各个时期文学批评的理念及演变过程。全书共有六章,分别介绍了英国文艺复兴时期的文学批评、18世纪英国的文学批评、英国浪漫主义时期的文學批评、维多利亚时期的文学批评、20世纪上半叶的文学批评、20世纪下半叶的文学批评。从某种程度上说,撰写英国文学批评史的过程就是重新体味英国文化的过程,经历英国社会发展变迁的过程。历史无法复原,任何一部文学批评史都不
摘要:传统GIS数据模型难以适应配电GIS拓扑分析,利用 Geodatabase数据模型中的几何网络来描述配电网拓扑结构,提出了一种全局数据处理方法,对配电网数据进行设备分层、拓扑处理,以此建立配电几何网络,这为配电网络拓扑分析奠定了基础。最后,基于所建配电几何网络,结合东莞大朗镇配电GIS项目,实现配电网络拓扑分析中的供电电源分析,并给出了具体的算法实现。  关键词:地理信息系统;GeoData
摘要:该文在对EOS开发中存在的一些问题进行分析和对Barracuda架构深入研究的基础上,提出了一个基于Barracuda架构的SOA开发模型,以解决传统EOS开发中的效率问题,并对如何实现基于Barracuda架构的SOA开发模型进行了较详细的分析。  关键词:Barracuda;EOS;XMLC;SOA开发模型  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)3
摘要:元数据在网络信息资源的管理、存储和检索中发挥着重大的作用。目前业界对于元数据的定义和管理都还没有统一的标准。在现有元数据标准的基础上进行扩展,并提出一种基于XML的元数据模型的设计方法,在元数据的层次上来定义和管理资源。  关键字:元数据;XML;XML Schema;元数据模型  中图分类号:TP30文献标识码:A 文章编号:1009-3044(2008)06-10ppp-0c  A Re
早在几年前一个研究生的四人展上就与廖小东相认,拜读过其作品,毕业后的这几年,廖小东也未曾停止对绘画的追求和思索,以至于我们在艺术生涯中既是朋友,更是知己。从他早期的作品到至今,可以梳理出一个清晰的探索脉络,从他的整个作品格局中,我们可以看出他传承南方山水油画家的特性和功底深厚的学院基础。在植入了个人语言特征的同时,还宣泄着内心深处对生活的情绪。  同时,他的作品里充满着诗性般的韵味,一种对山水的移