Flash游戏开发技术分析(上)
 1、与Flash游戏相关的文件类型
 与Flash游戏相关的文件类型有多种,最常用的有三种:.fla、.flv和.swf。
 1).FLA
 FLA文件是Flash项目文件,在创建Flash游戏时,首先会创建.FLA文件来建立游戏。然后会花大量时间编写FLA文件的内容。当Flash游戏开发完成,可以放到Web上时,需要创建.SWF文件。
 FLA文件包含了Flash应用的源文件。
 Flash Authoring软件可以编辑FLAsh文件,并编译生成SWF文件。
 2).SWF
 SWF是Small Web Format的缩写,SWF文件目前实际上主要用于Web上的动画矢量图,远远领先于W3C的开放标准SVG。.SWF文件可嵌入到HTML,因此可以被Web浏览器浏览,也可以被Flash Player播放。SWF还可用于应用程序,最常见的是用于游戏(会使用ActionScript)。
 SWF文件是完整的、编译后且已发布的文件。
 可使用Adobe Flash或Flex Builder等开发工具生成SWF文件。
 3).FLV文件
 FLV是Flash Video的简称,是一种流行的网络视频格式。
 FLV串流媒体格式是一种新的视频格式,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上有效使用等缺点。
 一般FLV文件包在SWF PLAYER的壳里,并且FLV可以很好的保护原始地址,不容易被下载,从而起到保护版权的作用。
 FLV文件可由Adobe Flash软件所创建。
 FLV文件的音视频数据的编码方式与其在SWF文件的编码方式相同。
 2、ActionScript 3.0语言
 ActionScript 3.0是一门脚本语言,可用于Flash游戏的开发。ActionScript语言与JavaScript语言类似,两者都遵循ECMA 262标准。
 ActionScript语言与JavaScript语言两者的区别在于:
     * ActionScript 不支持特定于浏览器的对象,例如 Document、Window 和 Anchor。
     * ActionScript 没有为所有 JavaScript 内置对象都提供支持。
     * ActionScript 不支持某些 JavaScript 语法构造,例如语句标签。
     * 在 ActionScript 中,eval() 函数只能执行变量引用。
     * ActionScript 2.0 支持 ECMA-262 规范中没有的一些功能,例如类和强类型。这些功能中的很多功能都取自 ECMAScript (ECMA-262) 第 3 版语言规范(请参见 www.ecma-international.org/publications/standards/Ecma-262.htm)。
     * ActionScript 不支持使用 RegExp 对象的正则表达式。但是,Macromedia Central 却支持 RegExp 对象。有关 Macromedia Central 的更多信息,请访问 www.macromedia.com/software/central。 
 ActionScript语言调用JavaScript语言的方法:
 为了从JavaScript调用ActionScript的方法,你必须确认以下文件都需包含到文档内:
 
<script type="text/javascript" src="/path/to/Exception.js"></script> 
     <script type="text/javascript" src="/path/to/FlashTag.js"></script> 
     <script type="text/javascript" src="/path/to/FlashSerializer.js"></script> 
     <script type="text/javascript" src="/path/to/FlashProxy.js"></script> 
     <script type="text/vbscript" src="/path/to/VBCallback.vbs"></script>
 3、ActionScript脚本放置的位置
 您可以将ActionScript脚本直接放在时间轴的关键帧的影片剪辑或按钮处,或是影片剪辑的关键帧处,或在外部文件中。不推荐把代码直接放在影片剪辑或按钮处,因为这种方式创建的代码往往难以维护。把代码放置在外部文件中,并在时间轴中置入是很好的做法。
 4、Adobe Flash CS 3提供的视频部署方式
   · Progressive download from a web server
   放置于Web服务器上,以进度条的方式加载到本地(浏览器)
   · Stream from Flash Video Streaming Service
   从Flash视频流服务串流
   · Stream from Flash Media Server
   从Flash媒体服务器串流
   · As mobile device video bundled in SWF
   · Embed video in SWF and play in timeline
   · Linked QuickTime video for publishing to QuickTime
 5、流行的、专业的视频编辑工具
   · Adobe Premiere Pro CS4
   · Adobe After Effects CS4
   · Apple Final Cut Pro 7
 还有两个免费工具:
   · Windows Movie Maker
   · Apple iMovie
 6、风险
 我们面对的真正问题是Adobe处在开源与闭源的夹缝中,比如Flash,它绝大部分是开源的,但并不彻底。Adobe的Ludwig说,我们尽可能让它开源,但有一些编码技术还存在着限制,我们将尽力而为。










