zoukankan      html  css  js  c++  java
  • Flash&Flex相关资料

    本文转自http://zengrong.net/flashassistant 

    zrong's Blog


    2011年5月15日更新:UI组件部分,加入几个轻量级纯AS组件的介绍。 2011年5月13日更新:游戏引擎部分,修过多个引擎的介绍。 2011年4月6日更新:游戏引擎部分,加入Flixel Power Tools等几个引擎的介绍。 2011年3月3日更新:服务器部分,加入Openfire的介绍。 2011年1月30日更新:混淆器部分,加入C Preprocessor for ActionScript的介绍。 2011年1月7日更新:修改调试器部分,加入Kap Inspect的介绍。 2012年2月25日更新:加入As3-Bloom的介绍。 2012年3月12日更新:服务器部分,加入CRTMPServer和Mammoth Server的介绍。 旧的更新移至文章底部


    官方在线帮助(没标英文的都是中文)

    Flash 3D(FlashPlayer11加入原生3D后的更多资料)

    • Minko
    • native3D 来自 比起其他3d引擎动辄几百k,无位图资源时,只有3k+的native3d引擎在做一些轻量级的网页效果时,它甚至比five3d的体积还要小,确实有它一定的优势。
    • Away3d http://code.google.com/p/away3d/ http://away3d.com/
    • Sandy
    • ActionScript 3D引擎,有AS2、AS3、haXe版
    • Alternativa 3D
    • ASCOLLADA 一个可以解析Collada文件格式的AS3类库,Collada 是一个开放原始码的专案,它可让3D资料以XML的型态储存,并让3D人员可以轻易携带和互换资料
    • Five3D
    • Papervision3D(很久未更新,不支持新的3DAPI,zrong不推荐使用) http://code.google.com/p/papervision3d/apervision3D是由巴西人Carlos差不多凭自己一人之力(后来的版本应该多了很多contributor)开发,目前应用比较广泛。主要特点:
      1. 可以直接导入dae和ase文件(这些文件你用3DMAX或其他3D工具安装一个小插件就可以导出的了),这意味着可以直接使用大部分专业3D工具制作出来的模型。
      2. 性能好
      3. 功能强,现在已经支持很多振奋人心的高级3D效果了,不知道最终版本会变成怎样呢
      4. 使用简单。基本上看一看例子就知道怎么做了
      5. 开源。

      有兴趣的可以先到下面这页面看看PV3D的例子

    Flash物理引擎

    Flash游戏引擎(参考来源:1|2)

    • PixelBlitz Engine这个引擎提供位图管理、碰撞检测、像素字体、游戏相关数学计算、键盘和鼠标管理等等功能。但它是一个未完成版本,它的开发者现在都去开发Flixel Power Tools了
    • flixel 这是一个全位图引擎。所谓全位图,就是游戏场景中所有元件最终均绘制在一个位图对象上,在游戏过程中每帧进行重绘。也正因为如此,此引擎非常擅长处理同屏同时出现大量的游戏元件,其高效的渲染会让你激动不已。当你需要创建2D卷轴游戏或者场景中需要大量运动元素的游戏,Flixel引擎是你的首选。 Flixel还具有一些不错的特性:
      • 采用QuadTree的对象链,高效的碰撞检测
      • 位图动画Sprite
      • 通过文本及图片创建Tiles地图
      • 简单易用的粒子系统
      • 高效的滚屏
      • 自定义的鼠标光标
      • 方便的debug显示终端

      典型案例:

      • Canabalt该游戏在作者的网站上每月会消耗2.5T的流量,可见流行的程度。游戏中高速流畅的滚屏会让你惊叹Flash的效率。此游戏还移植到iOS上,并在App Store中销量不菲。
      • Omega Crisis 这个塔防类游戏,画面、游戏性与操作性都相当不错。
      • 用此引擎的游戏展示

      简单介绍|功能列表|中文教程

    • Flixel Power Tools 在Flixel的基础上加入了一些工具。
    • Bold Pixel engine 以copyPixels方法写的位图引擎。里面实现了缓存BitmapData贴图管理等优化,不过没有对不在显示区域的对象进行过滤,以及其它优化。
    • FlashPunk(要FQ才能访问) FlashPunk同样是个针对位图的开源引擎。它具有清晰的框架以及创建游戏需要的动画、碰撞等类库,让开发者更专注与游戏的设计与测试中。 其主要特性包括:
      • 相对独立与固定的帧频时间步长控制
      • 像素、矩形区及网格的碰撞检测
      • 运动tweening
      • sorted的渲染列表,方便深度排序
      • 粒子系统

      典型案例:

    • pushbuttonengine 简单介绍,Pushbutton引擎的特色有很多,包括建立游戏的模块片段,而不是整体式的应用;使用第三方类库更加容易;提供核心功能比如资源管理器、日志管理、调试检测、序列号、时间管理、全局命名对象等等;相关的组件包括基于Box2D的物理引擎、Rendering2D引擎、游戏常用的健康值组件、团队组件、状态机组件、贴图系统、路径查找类库、基本的网络联机和通讯服务; 将来会提供编辑器,以及网络联机组件,这两个组件都是收费组件; 该游戏引擎的官方网站还列出了组件商店的介绍,作为该组织出售组件和广大开发者出售组件的场所,这不失为一个好的商业模式。 典型案例:
      • Social City这个在Facebook上月活跃用户超过一千万的游戏,采用了PushButton引擎。
      • The Incredible Machine Mega Pack不可思议的机器系列想必大家不陌生,这个版本的近400兆大小的单机游戏也出自该引擎。
    • mecheye-as3-libraries 作者可能已经放弃开发了,zrong不推荐使用
    • 下面是一些2.5D游戏引擎。所谓2.5D,我们也称之为Isometric,也就是游戏视角采取倾斜视角(如斜45度角等),以平面的方式展现固定视角的3D效果。目前很多网页游戏均采用2.5D的方式。需要注意的是,前面为大家介绍的位图2D引擎同样可以用来开发2.5D游戏。运用这些引擎,你可以把一些烦人的2.5D相关的坐标转换交给引擎处理,专注在你的游戏逻辑及设计上。
    • Pixas是一个开源ActionScript引擎,它能够使程序员利用纯粹的Actionscript3来构建等距像素Flash应用程序。利用Pixas你可以很容易的将等距像素元素,比如块、立方体、锥体和图层,添加到你的应用程序中。
    • AS3 ISO LIB As3isolib是一个基于ActionScript 3的 Isometric库,开发者运用它可以方便的开发2.5D的游戏或应用。其主要特性包括:
      • 简易的2.5D场景创建方式
      • 方便的于各种缓动(tween)引擎交互
      • 增强的2.5D元件深度排序
      • 场景显示渲染的性能优化

      典型案例:

    • OpenSpace OpenSpace是一个非常不错的引擎,用户可以非常快速方便的创建2.5D游戏。配合该公司的另外一款通信服务器SmartFoxServer,可以搭建多人实时交互的虚拟场景。 其特点包括:
      • 完善的地图编辑方式
      • 可缩放的场景
      • 自定义地图滚屏方式
      • 自定义的游戏角色
      • 地图自动寻径

      典型案例:

    • TheoWorlds TheoWorlds 除了包含Iso引擎之外,还包含聊天、地图编辑器等组件,可以帮助开发者快速的开发2.5D的虚拟世界。 主要特性有:
      • 8方向的运动角色
      • 自定义角色形象
      • 自定义角色动作
      • 快速寻径及自动滚屏
      • 与SmartFox Server及ElectroServer等第三方即时通信服务器通信
      • 聊天历史、表情图标等

      相关演示:

    • FFlimation 这个项目的主要目的是提供一个稳定的开发平台,这样游戏设计师就可以忘记游戏渲染引擎把精力集中在游戏内容的细节方面。从“关卡制作”的角度来看,这个引擎的可用性非常的高。
    • Citrus Engine Citrus 引擎是一种基于as3和box2d的flash滚屏平台游戏引擎。Cirus引擎能让设计师和开发者非常快速的容易的创建滚屏平台游戏(又叫横版过关游戏)象超级玛丽。团队可以用citrus引擎给游戏门户制作广告游戏,市场推广游戏,搏逸游戏等等。
    • Yogurt3D Yogurt3d的核心部分,swiftgl,是开源并且与opengl兼容。这意味着有opengl开发经验的开发者很容易的就可以开发出3d flash游戏和应用程序。他还可以轻易的将opengl代码转化成swiftgl并在flashplayer中运行。

    UI组件与布局管理

    • Flash UI Component 基于Flash CS3的UI组件,可用于纯ActionScript项目。
    • AsWing AsWing是一套UI组件框架,纯ActionScript开发的组件框架(有ActionScript2和ActionScript3版本),也包含一些常用的工具类,目的是让Flash/Flex开发人员方便的开发出想要的应用程序界面。另外AsWing还提供SkinBuilder和GuiBuilder工具用于制作Skin和可视化编辑生成界面。目前AsWing团队专注于ActionScript3版本的开发和维护。AsWing以 BSD协议发布,不管你是商业还是非商业,都可以自由免费使用. zrong最近就在用AsWing做东西。看完AsWing的架构才发现,Flex4的spark组件引以为傲大肆宣传的layout,其实AsWing早就这么做了。 不过,最近zrong在用AsWing开发的时候,又碰到过许多莫名其妙的问题,找不到什么解决方案,目前已经放弃。
    • Gfl 一个轻量级的基于纯AS的独立组件库,可以使用CSS语法。感谢smithfox的推荐。
    • Minimal Comps 一套小巧可爱的纯AS组件,除AsWing外的又一选择。zrong发现纯AS的UI组件并不多,貌似除了AsWing也就只有这套了中文使用说明
    • As3-Bloom As-Bloom 是为开发者提供的一个轻量级用户界面。简要介绍其特性: * 主题编辑器 * 边缘布局系统 * 画刷皮肤系统,轻松改变组件风格 * 类结构更为清晰,易于初学者上手 * 保持短小精悍的文件尺寸,内存占用低
    • Skinnable Minimal Components MinimalComps的官方版本是不支持皮肤的,而这个就是它支持皮肤的版本。
    • razor components 一套支持皮肤的纯AS组件。
    • MadCommponents 一套轻量级的纯AS组件,适合用在移动设备上。
    • AS3Flobile 这一套也是比较轻量级的
    • Base UI 纯AS实现的布局框架,功能很全,配合Minimal Comps再好不过了。快速查看布局效果
    • miniui 这是一个开源的flash ui 框架。支持主流框架的skin和layout等功能,但是体积却非常小。
    • FlexLib 一套包含很多FLEX高级组件的开源类库。包含这些组件:AdvancedForm, Base64Image,EnhancedButtonSkin, CanvasButton, ConvertibleTreeList, Draggable,Slider, Fire, Highlighter, HorizontalAxisDataSelector ImageMap,PromptingTextInput, Scrollable Menu Controls, SuperTabNavigator,Alternative Scrolling Canvases, Horizontal Accordion, TreeGrid,FlowBox, Docking ToolBar 。
    • FlexMDI 是一个在Flex中轻松创建多窗口(MDI)的一个框架,提供了很多功能,包括拖拽,最大化,最小化,各种效果等。 现在FlexMDI已经整合进入FlexLib组件,成为其中的一个包flexlib.mdi MDIManager介绍 flexmdi中的效果
    • vancura-AS3-libs 提供纯AS3组件的皮肤和样式的集合。支持Scale9Bitmap
    • BrowserCanvas 提供容易的方式动态修改Flash尺寸大小
    • senocular Layout class 除了布局工具,还有其他许多有用的工具
    • Yahoo ASTRA: ActionScript Toolkit for Rich Applications 这是Yahoo开发的一套RIA组件包,包含以下内容
    • EnFlash 仅支持AS2
    • XMCA 仅支持AS2
    • BIT Component Set 商业组件 $99
    • GhostWire Components 商业组件 标准版$149 精简版$99

    Tween

    ActionScript3.0 API

    ActionScript编辑器

    • FDT FDT是Flash Development Tool 的简称,是非常优秀的ActionScript编辑器。它不是一个独立软件,而是Eclipse的 一个插件。它支持高级的代码自动完成功能,具有强大的实时错误检测和除错功能,可以导入Flash的帮助文件,实现同Flash一样方便的帮助信息等等。 功能强大,但不是免费的。
    • SEPY ActionScript Editor 强大的开源AS编辑器,使用python开发。最近一次更新是在2007年2月10日,估计没戏了。
    • FlashDevelop 小巧免费的AS编辑器,基于.NET开发,启动快速,免费。zrong推荐

    调试器来自 评测

    • Kap Inspect如果你没用过spy工具,你可曾想实时监控swf application的的所有事件? 你可曾想查看swf有没有内存泄漏问题?你可曾想看看到底DisplayObject tree是什么样的?你可曾想查看所有控件的属性,甚至在运行时改一下?来自
    • ThunderBolt 是个面向ActionScript 2和3的Firebug轻量级记录器扩展,无法使用Firebug的AIR程序,ThunderBolt有ThunderBolt AS3 Console可以使用。
    • Arthropod 是个面向Flash和AIR开发的调试工具。其易用性非常好,下载后直接就可以使用, 开发者可以在运行期轻松调试应用。
    • Alcon是面向ActionScript开发者的一个轻量级调试工具,提供直接且快捷的方法来调试任何ActionScript 2或ActionScript 3应 用,无论这些ActionScript是来自于Web浏览器、独立的Flash Player还是AIR运行时都没有问题。
    • De MonsterDebugger 是个面向Flash、Flex及AIR项目的开源、轻量级的调试器,功能完善,完全使用Adobe AIR开发。
    • reflexutil是个Flex调试工具,可以在运行时时实改变控件的属性。

    Flex Explorer

    Flex开发框架

    • Cairngorm 是为方便FLEX开发企业级应用而开发的一个微架构。假如项目比较复杂,需要3个开发员以上来共同开发,Cairngorm是一个最正统的选择(官方推 荐),虽然开始时有点难学。而做小型项目或项目是由你自己一个人开发的话,那就用PureMVC吧。 不过即使开发不使用它,也可以参考它的源码,毕竟Iteration:two的大量企业级应用的design patterns还是很值得学习的。
    • PureMVC zrong就用这个
    • ARP
    • MVCS
    • Flest
    • Model-Glue:Flex
    • ServerBox Foundry
    • Guasax
    • Slide
    • Luke Bayes
    • Ali Mills
    • SomaUI

    编译与反编译器 部分转自

    • 硕思闪客精灵(商业软件)
    • imperator(商业软件)
    • Action Script Viewer(商业软件)
    • Flasm(自由软件)反编译swf成字节码(bytecode),将修改的字节码再编译成swf。理论上可以反编译任何加密方式的swf,用汇编语言来写ACTION SCRIPT,FLASM能帮你将SWF里面的AS转换成汇编语言,然后你要做的是优化这些代码,最后交由FLASM再把他转回SWF,FLASM的语法与汇编类似,但只能支持到Flash 8。
    • Flare(自由软件)Flare是一个免费的swf反编译器. 目前最高只支持Flash MX 2004 和Flash 8。
    • swfparser(开源软件)一个 Java 编写的简单的用来反编译 swf 的工具,只支持到Flash 8。
    • swftools是一个方便,易于使用的实用程序收集专门设计,使您与Adobe的Flash文件(SWF文件)工作变得更容易,目前支持Windows和Linux。
      • PDF2SWF是一个PDF格式到SWF格式转换器。每页生成一帧。使你有完整的格式化文本,包括表格,在你的Flash电影上。它基于PDF格式的解析器。结合FlexPaper可以实现类似Baidu文库/豆丁网的Flash文档阅读器,不过要达到上面两种一样应用还需要不少改进
      • SWFCombine工具插入一个对pdf2swf转成文件的显示封装。 (模板)例如见,包括在一些浏览SWF的排序pdf2swf。
      • SWFString搜索出SWF里的文本数据。
      • SWFDump列出有关swf文件里的各种信息如:Sprite, Shape, String等。
      • JPEG2SWF添加一个或多个JPEG图片,并产生一个SWF幻灯片。
      • PNG2SWF 同JPEG2SWF相似,支持png格式。
      • GIF2SWF转换的GIF到SWF。还能够处理GIF动画。
      • WAV2SWF WAV音频文件转换为SWF文件,使用的LAME MP3编码器库。
      • AVI2SWF的AVI动画文件转换为SWF。它支持Flash MX中的H.263压缩。有些例子可以找到examples.html。
      • Font2SWF转换字体成为SWF文件。
      • SWFBBox允许调整SWF的封装Viwer。
      • SWFC的工具,从简单的脚本文件创建的SWF文件。
      • SWFExtract允许提取影片剪辑,声音,图像等从SWF文件。
      • RFXSWF 一个功能齐全的Flash库,可用于独立的SWF。包括位图,按钮,形状,文字,字体,声音等的支持,也为ActionScript支持使用明ActionCompiler。
      • AS3Compile ActionScript 3.0编译器,与官方的Flex SDK 里的mxmlc相比功能很少,你可以输入as3compile –help查看参数
    • Ming可以用来生成swf文件,包括在swf文件内增加图片,声音,视频等素材,也可以在文件内增加代码,使用滤镜.可以使用php,perl,python,ruby,java生成swf文件,php5安装的时候自带,php5帮助里面用完整的函数说明。
      • swftophp – SWF to PHP converter
      • makefdb – Font Definition Ripper
      • listfdb – List Font Definition
      • listjpeg – List JPEGs
      • listswf – SWF Disassembler
      • listaction – Actions Script Disassembler
      • png2dbl – PNG convert
      • gif2dbl – GIF converter
      • gif2mask – GIF Mask extractor
      • raw2adpcm – Audio Converter
    • Swfmill是一个功能可靠使用方便的命令行工具,可以使用SWFML实现的xml和swf之间的转换,还可以利用xslt生成swf文件,也是FAMES生成SWF密不可分的一部分。SWFML是一种在SWF文件格式制定后制定的XML语言。
    • Nemo 440(免费软件)AIR编写的ActionScript 3/ABC2/Flex 2/Flex 3/Flex 4/AIR反编译器,并不能还原成AS文件,只是反编译成类似字节码的代码。
    • swfdump和swfutils.jar,包含在Flex4 SDK中,swfdump调用swfutils.jar工作,将swf编译成字节码。可以看看这篇文章的介绍。

    加密与混淆器一个开源(GNU GPL v2 )的flash反编译器,JAVA编写。

    外壳

    视频

    服务器软件

    • C++ RTMP Server(crtmpserver/rtmpd) 一个C++实现的媒体服务器,支持RTMP,RTMPE, RTMPS, RTMPT, RTMPTE协议和易懂设备,支持MPEG-TS/RTSP/RTCP/RTP协议。
    • Mammoth Server 也是一个C++实现的支持RTMP协议的流媒体服务器。
    • Red5 使用Java编写的开源软件,可以用来替代Flash Media Server(原Flash Communication Server)
    • Wowza Media Server 商业软件,又一个FMS替代品,除了RTMP外,还支持多种协议和多种客户端(Silverlight、QuickTime等等)
    • ErlyVideo一个使用Erlang语言编写的FMS替代品,支持HTTP MPEG-TS流、RTMP流和IPhone流。
    • SmartFoxServer 商业软件。它是专门为Adobe Flash设计的跨平台socket服务器,让开发者高效地开发多人应用及游戏。服务器端可以使用Actionscript, Javascript, Python和Java语言进行扩展。自带数据库和HTTP服务器引擎。 中文介绍 中文文档
    • Openfire 使用Java开发聊天和IM服务器,实现了XMPP协议。据说Google Wave的协议也是基于它的,底层使用Apache MINA(下面有介绍)。
    • QuickServer 它是一个免费的开源Java库,用于快速创建健壮的多线程、多客户端TCP服务器应用程序。使用QuickServer,用户可以只集中处理应用程序的逻辑/协议。 中文开发指南
    • MINA Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版中提供),MINA 所支持的功能也在进一步的扩展中。
    • Cindy Cindy是一个强壮,可扩展,高效的异步I/O框架。支持TCP,SSL-TCP, UDP和Pipe。
    • OneTeam Media Server又一个使用Erlang语言编写的开源FMS替代品 来自
      1. 支持流式播放实时或已录制好的媒体内容
      2. 支持录制实时内容
      3. 支持AS3 SharedObject共享对象
      4. 支持Clustering集群
      5. 支持用Erlang/OTP编写应用程序模块
    • TightVNC 并非Flash专用,提供远程控制服务 参见FlashVNC
    • vnc2swf 将VNC的内容保存成SWF

    开发

    应用

    Flash Remoting

    • webORB 包含.NET、JAVA、PHP和 Ruby on Rails版本的Remoting。
    • FluorineFx Flash Remoting for .NET,开源
    • Zend AMF
    • Zend出品,算是官方支持了。Flash Builder自带了这套框架。
    • OpenAMF on sourceforge JAVA Flash Remoting
    • rubyamf RubyAMF is an open source flash remoting gateway for rails. It plugs?directly into your controllers with render :amf.
    • amfphp(不推荐) Flash Remoting for PHP,开源

    ActionScript 1.0/2.0


    2010年11月29日更新:修改服务器软件部分,加入SmartFoxServer、QuickServer、Cindy、MINA的介绍。

    2010年11月24日更新:修改服务器软件部分,加入Wowza、ErlyVideo的介绍,修改Red5的介绍。

    2010年9月25日更新:修改编译与反编译器加密与混淆器部分。

    2010年9月18日更新:加入调试器

    2010年9月4日更新:删除数个无效的explorer

    2010年8月27日更新:加入数个Flash游戏、物理、3D引擎和UI组件,加入1个Flash开发框架。

    2010年8月25日更新:继续删除和修正链接,合并类别,加入了Flash游戏引擎,增加官方在线中文帮助。

    2010年8月24日更新:删除和修正了许多链接,修改了介绍,合并了类别,加入了Flash物理引擎类别。

  • 相关阅读:
    rabbitmq学习之路(五)
    rabbitmq学习之路(四)
    rabbitmq学习之路(三)
    rabbitmq学习之路(二)
    rabbitmq学习之路(一)
    回忆一下数据库中的锁问题
    feign+hystrix 进行服务降级
    vue.js之过滤器,自定义指令,自定义键盘信息以及监听数据变化
    node.js之用ajax获取数据和ejs获取数据
    用node.js实现mvc相册资源管理器
  • 原文地址:https://www.cnblogs.com/sdlwlxf/p/2820390.html
Copyright © 2011-2022 走看看