常用的AS3开源类库

GreenShock Tween Platform
[url=http://blog.greensock.com/]
[color="#d66000"]GreenShock Tween[/color]
[/url]
是我最常用的一个功能强大的Tween类库,详细可以见
[url=http://kevincao.com/2009/05/greensock-tweening-platform-v11-beta/]
[color="#d66000"]我之前的介绍[/color]
[/url]
。但是要注意这个类库对商业项目并不是免费使用的,可以替代的选择有很多:GTween,Tweener等等。
Bulk Loader
[url=http://code.google.com/p/bulk-loader/]
[color="#d66000"]Bulk Loader[/color]
[/url]
解决的是AS3中各种不同类型文件的加载问题,实现了对各种数据类型统一的加载接口,调用非常简便。此外还具有有批量加载、优先级设置等高级功能。
Gaia Framework
[url=http://gaiaflashframework.com/]
[color="#d66000"]Gaia[/color]
[/url]
是一套完整的互动网站制作框架。它定义了网站的基本数据流,采用xml进行结构配置和资源管理。各个页面之间以transitionIn,transitionInComplete,transitionOut,transitionOutComplete等步骤串联在一起。Gaia强大的自定义和事件侦听功能使用户可以很方便的更改网站逻辑。此外Gaia还整合了
[url=http://www.asual.com/swfaddress/]
[color="#d66000"]SWFAddress[/color]
[/url]
,GreenShock Tween,采用MVC,Singleton等设计模式和业界流行的最佳解决方案(Best Practice)。Gaia还提供了配套的Flash插件面板,能够很直观的帮助用户快速配置网站。
抽象是一件很有技术含量的工作。做了这么多Flash网站,很清楚每次搭架构时的无奈。由于需求的多变,哪些是架构层面的核心需求,哪些是业务逻辑需求,甚至哪些是效果表现需求,常常混杂在一起,结果就是可重用性极差,每次都等于重新开始。Gaia最伟大的地方就是厘清了这几层关系,把属于网站内部流程的部分抽象出来,并建立了强大的可扩展的接口。我们只需要在这层接口上再去考虑业务逻辑和表现层的开发就可以了,大大减轻了工作量。当然,Gaia只是一种解决方案,虽然科学但并不完美。我在使用中就曾发现:为了配合它的内部流程,会造成无意义的swf子文件增多的现象。
Gaia提供的机制最适用于多页面切换的Minisite,稍加扩展就可以应付大多数的情况,大家可去官网左边的Gallery栏目看看各式案例。类似的Framework还有日本人开发的
[url=http://progression.jp/en/]
[color="#d66000"]Progression[/color]
[/url]

MinimalComps
[url=http://code.google.com/p/minimalcomps/]
[color="#d66000"]MinimalComps[/color]
[/url]
是我的轻量化组件首选。开发者是著名的
[url=http://www.bit-101.com/blog/]
[color="#d66000"]bit-101[/color]
[/url]
,最近刚刚更新了几个新的功能,还提供了排版工具
[url=http://www.bit-101.com/MinimalDesigner/]
[color="#d66000"]MinimalDesigner[/color]
[/url]
。这套组件完全独立,不依赖于Flash内部的UIComponent,最大的特点是简单够用。可以在Flash IDE和Flex下使用。但是不支持中文,我只是用它来辅助调试参数。
AS3 Data Structure
这套api
[url=http://kevincao.com/2009/02/as3-data-structures-for-game-developers-as3ds/]
[color="#d66000"]之前也有介绍过[/color]
[/url]
,灵活运用数据结构能够大大提升开发效率。
Casa Lib
[url=http://casalib.org/]
[color="#d66000"]Casa Lib[/color]
[/url]
是一套非常完整的framework,几乎涵盖了所有在开发中常见的扩展需求。我最常用的是其util包下的工具类,之前也有介绍过很方便的
[url=http://kevincao.com/2009/05/casa-lib/]
[color="#d66000"]LibrayManager[/color]
[/url]
。类似的大而全的开发框架还有
[url=http://codeendeavor.com/guttershark]
[color="#d66000"]Guttershark[/color]
[/url]

[url=http://code.google.com/p/sekati/]
[color="#d66000"]Sekati API[/color]
[/url]
等。这类属于开发框架性质的类库内部本身的继承或者复合关系就比较复杂,开发者在使用时需要注意评估使用它们带来的隐性成本。当然你也可以像我一样,只使用类库中的一些辅助工具类。此外,学习框架的编写对提升编程能力也是大有裨益的。
Papervision3D (+ Flint Particle System, AS3DMod, ThreeDee)
Papervision3D的强大已经不用我多介绍,现在的
[url=http://www.thefwa.com/]
[color="#d66000"]FWA[/color]
[/url]
已经基本是3D引擎的天下了。除了自身所带的功能以外,大量第三方的辅助类库或插件也起到了锦上添花的作用,所以我把它们并作一条。做粒子效果可以考虑
[url=http://code.google.com/p/flint-particle-system/]
[color="#d66000"]Flint[/color]
[/url]
,变形修改器可以用
[url=http://code.google.com/p/as3dmod/]
[color="#d66000"]AS3DMod[/color]
[/url]

[url=http://labs.zavoo.com/?p=170]
[color="#d66000"]ThreeDee[/color]
[/url]
提供的扩展功能也很不错。至于物理引擎那也很多,只是我目前还没有涉及,这里也不多说了。
FLARToolKit (+ FLARManager)
FLARToolKit是近期大热的Augmented Reality (AR)的幕后英雄,详细可以看
[url=http://kevincao.com/2008/12/more-on-augmented-reality/]
[color="#d66000"]我之前的一篇介绍[/color]
[/url]
。而为了能够更方便的开发AR程序,
[url=http://words.transmote.com/wp]
[color="#d66000"]transmote[/color]
[/url]
开发了
[url=http://words.transmote.com/wp/flarmanager/inside-flarmanager/]
[color="#d66000"]FLARManager[/color]
[/url]
作为辅助,也提供了事件接口,多标记检测等增强功能。
写在最后,真的非常感谢那些默默奉献的无私的开发者,有了你们,互联网世界才越发生动精彩。作为一个创意开发人员,应该时刻让自己手中的这些武器与世界水平接轨。能够自己动手开发固然是好事,但是站在巨人肩膀上又有何妨呢。大家又有何常用的类库呢,欢迎留言讨论。
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/5249.html
-结-构(一部分没有在下表列出) xml: XMLLoader.as ---------------------- 加载xml的 xmlToArray.as ---------------------- xml转换Array util: ArrayUtil.as ---------------------- 数组辅助功能 setFrameout.as ---------------------- 延迟(帧)函数 clearFrameout.as ---------------------- 清除延迟函数 delayOut.as ---------------------- 延迟(秒)函数 EnterFrame.as ---------------------- as2enterFrame NumberUtil.as ---------------------- 逐个递加数字 setFor.as ---------------------- for循环函数体 tryRun.as ---------------------- try catch运行函数 url: Address.as ---------------------- 设置为首页/添加收藏夹/获取地址栏地址并且复制到右键 URL.as ---------------------- 跳转html/获取文件地址 Cookies.as ---------------------- shareObject似cookies HtmCookies.as ---------------------- 真实cookies JavaScript.as ---------------------- javascript交互 HTTPS.as ---------------------- url随机数 SNS.as ---------------------- 各个sns网站的分享 timeline: prevPlay.as ---------------------- 反向/正向播放mc Timeline.as ---------------------- 处理时间轴 time: TimeClick.as ---------------------- 计时器 TimeCount.as ---------------------- 计数器 TimeFormat.as ---------------------- 格式化时间 text: BitmapText.as ---------------------- bitmap文本副本 setDText.as ---------------------- 快速设置动态文本 replaceAll.as ---------------------- 替换字符 MiniFont.as ---------------------- mini字体库 test: MainLoad.as ---------------------- 测试框架 third:(部分第三方) stage: AutoSize.as ---------------------- 自适应屏幕尺寸 FullScreen.as ---------------------- 控制全屏 StageInit.as ---------------------- 初始化场景 object: AClass.as ---------------------- 获取对象所属的 all.as ---------------------- 全体对象调整 some.as ---------------------- 遍历并调用对象集属性 move: BasicMove.as ---------------------- 简单的运动方式 mouse: Menu.as ---------------------- 右键菜单 MouseCheck.as ---------------------- 检查鼠标是否移动 load: GroupLoader.as ---------------------- 列队加载一组元素 MCLoader.as ---------------------- loader组件 ProLoader.as ---------------------- 预加载 geom: Rectangular.as ---------------------- 控制目标在矩形区域内 RectangleUI.as.as ---------------------- RectangleUI工具条 events: BasicEvent.as ---------------------- 基本事件模式 ButtonEvent.as ---------------------- button相关的事件 FLVEvent.as ---------------------- FLV相关的事件 LoadEvent.as ---------------------- load相关的事件 ListEvent.as ---------------------- list相关的事件 EventManager.as ---------------------- 强大的事件管理器 draw: Painter.as ---------------------- 绘图 Pen.as ---------------------- 画笔 SmoothCurve.as ---------------------- 生成光滑曲线 debug: Debug.as ---------------------- 5K Debug trace.as ---------------------- 覆写trace traced.as ---------------------- traced输出 data: DataInterface.as ---------------------- 简化flash和后台交互 ValueMode.as ---------------------- 后台模式 ListPage.as ---------------------- 实现flash列表相关功能 display: addChildAndInit.as ---------------------- 添加显示对象并初始化 ContainerMovieClip.as ------------------ movieClip容器,一般用来存放加载的 DisplayGroup.as ---------------------- 显示对象群组 DisplayHelper.as ---------------------- 处理显示对象简便操作 hitTestObjects.as ---------------------- 像素级碰撞检测 LoaderSprite.as ---------------------- 处理Loader相关的Sprite Registration.as ---------------------- 变换注册点 SubMovieClip.as ---------------------- movieClip基 QMC.as ---------------------- 快速MovieClip --bitmap: GoodBmp.as ---------------------- 新的bitmap --color: Color.as ---------------------- 颜色工具 --quick: QuickMovieClipArray.as ---------------------- 保存QMC对象 --shell: CoreShell.as ---------------------- 控制显示对象的外壳 fp10(仅支持fp10.0以上版本): --a3d:(--A3D--) A3D.as ---------------------- 参数配置 Ball.as ---------------------- 球 Box.as ---------------------- 盒子 Camera3D.as ---------------------- 摄像机 Container3D.as ---------------------- 3d容器 Plane.as ---------------------- 基本面 Scene3D.as ---------------------- 主场景 --core: FP10Object3d.as ---------------------- 基本3d对象 IFP10Object3d.as ---------------------- 3D对象接口 Light.as ---------------------- 灯光 Material.as ---------------------- 材质 --move: Move.as ---------------------- 运动制作器 OrderTool.as ---------------------- Z轴排序器 zOrder.as ---------------------- Z轴排序函数 ToolMaker.as ---------------------- 3d工具制造器 fp10(仅支持fp10.0以上版本): --upfile JPGLoader.as ---------------------- 本地图片上传保存 JPGEncoder.as ---------------------- 压缩为jpg PNGEncoder.as ---------------------- 压缩为png component: --button: BasicButton.as ---------------------- 基本的按钮MODEL AssociativeButton.as ---------------------- 串联按钮MODEL. ParallelButton.as ---------------------- 并联按钮MODEL LabelButton.as ---------------------- 加标签的按钮 TwoFaceButton.as ---------------------- 两帧型按钮 ButtonManage.as ---------------------- 按钮统一管理器 --interactive: DragComponent.as ---------------------- 拖动功能元件。 MouseFollow.as ---------------------- 一组对象的鼠标跟随 MouseFollowBg.as ---------------------- 跟随鼠标的背景 --media: FLVVideo.as ---------------------- FLV播放器 MP3Sound.as ---------------------- 简单mp3播放器 --mouse: Cursor.as ---------------------- 自定义鼠标指针 --text: InputText.as ---------------------- 设置输入文本 Typewriter.as ---------------------- 打字效果 --ui: BlackMask.as ---------------------- 全屏遮罩 TipBox.as ---------------------- 提示框TipBox ScrollPane.as ---------------------- 滚动窗口组件 SliderLine.as ---------------------- 滚动条组件
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值