AS3前端的一些开源的类和引擎收集
CASAlib 类库
一个非常有用的As3的工具类库。
NpContextMenu 类
封装了一些方法,方便操作Flash Player的右键菜单。
一些方法:
addMenuItem() 添加菜单项 removeMenuItem() 删除菜单项 hideMenuItem() 隐藏菜单项 showMenuItem() 显示菜单项
如果想对SWF中的动态文本应用非系统的字体,方法当然是在本身的SWF中嵌入相应的字体,另外一种方法是把字体嵌入到另外的SWF中,当需要对应的字体时,把这个SWF载入,并引用相应的字体。FontLoader是一个字体载入类,它帮助你实现这个过程。
用法,假设把字体编译在fonts.swf中:
var _loader:FontLoader = new FontLoader(); _loader.load( new URLRequest( 'fonts.swf') );
载入完成后,可以引用字体:
var fonts = _loader.fonts;var tf:TextFormat = new TextFormat(fonts[0].fontName, 20);
swfupload是js+flash的类库,借此实现flash上传获取进度,也实现了页面无需重载的类似ajax的效果。
用法,引入js文件:
<script src="http://www.swfupload.org/swfupload.js" type="text/javascript"></script>
创建SWFUpload对象,指定swf,由swf通过FileReference类调出上传对话框,接下来就交给js了。
var swfu = new SWFUpload({ upload_url : "http://www.swfupload.org/upload.php", flash_url : "http://www.swfupload.org/swfupload.swf", file_size_limit : "200 MB", upload_start_handler : uploadStartEventHandler, upload_success_handler : uploadSuccessEventHandler });
BulkLoader提供简单的载入函数,不管要载入的是xml、swf还是声音文件,都只使用同一接口。功能强大,十分推荐。
用法,载入xml文件:
var bulkLoader:BulkLoader = new BulkLoader('main loading');
bulkLoader.add('my_xml_file.xml');
bulkLoader.start();
引用前面载入的资源:
var myXML:XML = BulkLoader.getLoader("main loading").getXML("my_xml_file.xml");
TransformTool让你轻松实现对DisplayObject的旋转、缩放功能。使用起来也超简单。
用法:
var tool:TransformTool = new TransformTool(); addChild(tool); tool.target = mc;
Layout是个AS3的布局类。例如你要实现一个布局:让一个mc,不管舞台大小如何调整,位置始终保持在舞台的右上角。
用法举例,让mc始终保持在舞台的右上角:
var stageLayout:Layout = new Layout(stage); var layout:Layout = new Layout(mc, true); layout.top = 0; layout.left = 0; stageLayout.addChild(layout);
ColorMatrix可以方便你调节显示对象的饱和度、色调、对比度、亮度。
用法:
var cm:ColorMatrix = new ColorMatrix(); cm.adjustColor(brightnessValue, contrastValue, saturationValue, hueValue); clip.filters = [new ColorMatrixFilter(cm)];
创建显示对象的“像素化”位图。
用法:
var myMoz:Mosaic = new Mosaic(yourDisplayObj isplayObject, pixelSize:uint, useCache:Boolean);
或者
var myMoz:Mosaic = new Mosaic(yourDisplayObj); myMoz.pixelSize = 10; myMoz.render();
Object Pool 类
flash player中有两个开销比较大的操作:对象的创建(object creation)和垃圾回收(garbage collection)。如果我们把不需的对象存放到一个对象池,当需要同类型的对象时直接从对象池里面获取。这样可以减少“对象的创建”,垃圾回收机制对象池里也不会工作,从而减少开销。
用法:
从ObjectPool中获取一个SomeClass的实例:
var obj:SomeClass = ObjectPool.getObject( SomeClass );
当你不需要一个对象,把它存进对象池中:
ObjectPool.disposeObject( obj );
文章由AS3前端整理于网络,AS3前端只于阅读浏览,对于本文AS3前端将不承担任何责任。转载请注明:http://as3.aa-a.net/?p=405
还没有评论.