findFlaByLinkageClassName脚本
根据提供的类名, 在指定的文件夹下查找所有FLA文件, 并搜索到库元件链接了指类名的元件.
呃...我只在Flash CS4下测试通过.
根据提供的类名, 在指定的文件夹下查找所有FLA文件, 并搜索到库元件链接了指类名的元件.
呃...我只在Flash CS4下测试通过.
牛人特别多。SWFVector可以取出SWF文件里的图形数据,包括矢量图形、字体图形。然后就可能通过Flash的drawing API把这些图形绘制出来了。对于3D矢量字体的实现 那是相当的方便(相比于Five3D与PV3D中通过定义字体类文件来实现)。
// extract shape from swf VectorShapes.extractFromLibrary(_loader.data, ["woman", "snowman"], VectorShapes.METHOD_CONTINUOUS_POINTS); // draw shape VectorShapes.draw(graphics, "woman"); // extract font data from swf VectorText.extractFont(root.loaderInfo.bytes); // draw text graphics.beginFill(0x0000); VectorText.write(graphics, "_Arial", 16, 16, 0, "Hello World", 10, 10);

此脚本会在文档类所在目录下, 生成一个SWFCompileInfo.as类文件. 记录编译信息. 如编译的时间. 支持Flash CS3以上.
命令...运行命令...
var version:String = SWFCompileInfo.COMPILE_TIME_STR;

解决鼠标中键与浏览器冲突的问题, 把js方法声明在as代码中, 通过ExternalInterface来调用. 完全不需要另外的js文件, 非常"hack"的做法.
SWFWheel.initialize(this.stage);

把一些需要消耗大的计算, (模拟线程的方式), 动态分配到多帧里去计算, 避免出现"卡帧"的现象. 如一些寻路算法, 图形编码算法, 大量数据解析等. 很有用.
需要自定义扩展GreenThread的子类, 把主要的循环计算放在run函数里头.
var astar:AStarGreenThread = new AStarGreenThread(); astar.addEventListener(Event.COMPLETE, onFindPath); astar.star();

方便查看swf当前的状态:fps,内存占用。很方便。
一些方法:
addChild( new Stats() );
addChild( new Stats( { bg: 0x202020, fps: 0xC0C0C0, ms: 0x505050, mem: 0x707070, memmax: 0xA0A0A0 } ) );

一个非常有用的As3的工具类库。
一些方法:
Date objects.enterFrame event.flash.utils.setInterval and flash.utils.setTimeout functions.EventDispatcher to allow for simple and quick removal of event listeners.
如果想对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);