您的位置:首页 > 其它

Flash游戏开发技术分析(下)

2009-10-13 10:12 155 查看
Flash游戏开发技术分析(下)

7、开源Flash开发工具

(1) MTASC

MTASC全称“Motion-Twin ActionScript 2 Compiler”,是第一个开源的 ActionScript 编译器。可使用它直接生成SWF字节码,无需任何Flash工具。

(2) ASDT

ASDT:是Eclipse插件,也是Actionscript开发工具。它是用Java开发的,提供一个具有语法着色显示、代码完成、代码折叠、语法检查、代码导航、调用MTASC进行编译、代码模板、内容辅助等功能的编辑器和其它一些用于创建ActionScript2.0和编译SWF文件所需要的所有辅助工具。构建器和日记功能可以用来调试和部署完全采用ActionScript2.0编写的项目。

(3) FlashDevelop

FlashDevelop是Windows平台上的可替代ASDT+Eclipse的开发环境。它支持ActionScript 2和ActionScript 3的开发,提供了与ASDT相同的特征以及版本控制功能。

(4) haXe开发工具

haXe是一种面向Web技术的高级编程语言,它可以运行在Flash Player,也可运行到JavaScript的Runtime或是Neko Runtime环境。

也就是说,其它很多语言只能运行在它们自己的平台,比如Java运行在JVM,C#运行在.Net,ActionsScript运行在Flash Player,而haXe则是一个多平台语言。你可以使用haXe开发多个平台的程序:

· 可以把一个haXe程序编译成单个的.js文件。

· 可以把一个haXe程序编译成一个.swf文件。

· 可以把一个haXe程序编译成NekoVM的二进制代码。

注:Neko是一个本地系统Runtime环境(类似于JRE),它允许haXe程序在本地运行。

(5) swfmill

Swfmill是一个使用SWFML实现的从XML到swf或者从swf到XML转换的命令行工具。Swfmill也是一个具有XSLT能力的生成swf的工具。

SWFML是一个在SWF文件格式制定后制定的XML方言。

(6) SWFObject

SWFObject是一套JavaScript库,是嵌入Flash内容到HTML页面的最佳实践技术。

SWFObject可以在HTML中插入Adobe Flash媒体资源模块(*.swf文件),这些模块是相互独立的、JavaScript模块。模块中的JavaScript脚本能够自动检测PC、 Mac机器上各种浏览器对Flash插件的支持情况。它使得插入的Flash媒体资源尽可能简捷、安全。而且它是符合搜索引擎优化原则的。此外,它能够避免HTML、XHTML中出现Object、Embed等非标准标签,从而使页面更加符合标准。

(7) Sprouts

Sprouts是一个开源项目,目前是使建立和维护Flash开发环境变得更容易。Sprouts能够创建和管理ActionScript 2、ActionScript 3以及基于Flex的项目的配置。

8、开源Libraries和Toolkits

(1) Fuse Kit

Fuse Kit,常常也叫Fuse,是Moses Gunesch开发的一个库,它结合了渐变引擎和定序器,提供了强大的基于ActionScript 2代码的动画解决方案。使用Fuse可以轻松地建立动画,无需回调函数、定时器,或Tween类的扩展调用。

Fuse Kit其实就是一堆AS文件,可以帮助你利用ActionScript来实现逼真的缓动效果,可以用来动态地添加滤镜效果,还可以生成一些基于时间的事件。

(2) Papervision3D

Papervision3D是一个开源、基于MIT许可证的、为Flash开发且使用ActionScript 3.0语言编写的3D引擎。

Papervision3D的目标在于实现更加炫丽美观、功能强大的Flash 3D Web应用程序。自动ActionScript 3发布后,ActionScript的效率得到了大幅度提升,基于ActionScript 3的Papervision3D无论是在效率、功能上也有很大提高。随着现在 Web 2.0、Web-Game及休闲类竞技网络游戏的发展,相信Papervision3D的应用将会越来越广泛。

(3) Screenweaver HX

Screenweaver用于建立交叉平台的RIDAs(Rich Interfaced Desktop Applications)的软件。它分离了应用程序逻辑和应用程序接口的联系。Screenweaver软件在Neko和Flash这两个 Runtime环境之间建立了一个桥。

Neko VM:运行haXe应用程序;

Flash Player:运行Flash应用。

9、开源Flash服务器端的技术

(1) AMFPHP

AMF:Action Message Format,是Flash平台的一种二进制数据交换格式。

AMFPHP是AMF格式在服务器端的实现之一,AMFPHP提供了远程过程调用(RPC)功能,允许Flash应用调用服务器端的功能。

另外,AMFPHP支持AMF格式,他能通过JSON和XML-RPC进行通信。

AMFPHP是基于PHP语言的RPC工具,它可以使PHP与下述技术无缝通信:

* Flash 和 Flex Remoting

* JavaScript JSON 和 Ajax JSON

* XML 和XML-RPC

AMFPHP广泛用于各种便宜的Web主机环境。它无需任何特定的PHP扩展。

(2) Red5

Red5是一个采用Java开发的开源Flash流媒体服务器,与AMFPHP类似,它提供了AMF之上的RPC功能。Red5提供了流媒体和服务器端共享对象支持。视频和音频媒体可以串流到客户端,实现了Flash Media Server(FMS)的很多功能。视频和音频还可以用客户端的webcam和麦克风录制,并发送会服务器进行更多的处理或分发。

Red5的主要功能:

· 把音频(MP3)和视频(FLV)转换成播放流;

· 录制客户端播放流(只支持FLV);

· 共享对象;现场直播流发布;

· 远程调用。

Red5使用RSTP作为流媒体传输协议,在其自带的一些示例中演示了在线录制,flash流媒体播放,在线聊天,视频会议等一些基本功能。

(3) SWX

SWX是由Aral Balkan开发的服务器端的新技术。它使用SWF格式进行数据交换,还提供了比其它传输机制更好的几个优势:

· 支持Flash Lite开发

· 原生支持Flash Player,播放器处理时间最短

· 非常易于使用

SWX提供了RPC机制,允许Flash直接调用服务器内容。与AMFPHP或Red5不同,SWX提供了服务器端的多种实现:

· SWX PHP

· SWX Ruby

· SWX Java

10、Adobe提供的开源工具

(1) Flex 3 SDK

支持ActionScript 3开发,使用Flex框架,目标是Flash Player 9以上。

(2) BlazeDS

BlazeDS是基于Java的服务器解决方案,提供了Flash平台的实时通信服务。它由三个主要组件组成:

· 访问服务器端的方法和对象的远程服务

· 支持发布/订阅消息的消息服务

· 允许Flash应用访问Flash安全沙盒禁止的数据类型的代理服务

(3) ActionScript 3库

Adobe提供了多个ActionScript 3库,如下:

· as3ebaylib:通过ActionScript访问eBay的XML API。

· as3corelib:ActionScript开发的类和工具集。

· as3flexunitlib:Flex开发的单元测试框架。

· as3odeolib:从Odeo服务中检索podcasts的ActionScript库。

· as3youtubelib:访问YouTube data API的库。

· as3syndicationlib:提供了处理RSS和Atom订阅的单个接口。

· as3flickrlib:使用Flickr API的库。

· as3mapprlib:提供了对Mappr API的访问。

· Cairngorm:开发基于Flex的RIA应用的框架。

11、其它的工具及库

· AlivePDF:生成PDF的ActionScript库。

· ARP:轻量级的开发框架。

· AsWing:一个GUI框架,带ActionScript组件集。

· Degrafa:一个Flex库,用于在MXML中创建绘画API。

· FlexLib:一套基于Flex的组件集,带火的动画效果。

· GoASAP:一个轻量级框架,建立ActionScript 3动画的工具。

· ObjectHandles:一个Flex库,辅助建立界面,允许用户在屏幕上移动对象和调整对象的大小。

· Pulse Particle System:是一款ActionScript 3.0粒子系统. 可以使用它自定义多种酷炫的粒子效果。

· Sandy:AstionScript 2.0和3.0的3D显示引擎。

· Prana:IoC容器的应用框架。

· Tweener:ActionScript 3的渐变引擎,用于创建简单和复杂的动画。

· http://spicefactory.org上还有数个项目。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: