Grant Skinner的关于AS3代码优化演示稿

来源:http://theflashblog.com/?p=1416

地址:http://gskinner.com/talks/quick
很不错的slides, 共100页, 简单明了, 还配有实例.
使用左右方向键查看前后页, 或者直接在页码处填写100内的数字,回车即可.当然, 直接在地址栏写入页码也是可行的
P.S. slides过渡效果也很帅的

AIR – 文件分割混排

做了一个文件分割并混排的工具, 实际用处有待挖掘 -__-
文件安装:ByteArrayTool.zip(需要AIR1.5.1)
选择文件:

slice num是每个文件将要分割的块数
buffer size确定保存文件时缓冲区大小
点击运行, 将所有文件分割并混排.

点击保存按钮, 确定保存路径及文件名, 开始保存:

最后保存的文件由配置文件和文件碎片组成, 结构如下:

解文件就容易了, 把上述过程反向一下就OK, 这里写好了一个类供大家使用:
点击下载此文件
举个例子:
URLLoader加载完成时, 使用URLLoader.data做为数据源:
var bytes:ByteArray = urlloader.data;
var decrypt:DecryptByteArray = new DecryptByteArray();
decrypt.decrypt(bytes);
//假设第一个文件是图片
var img:ByteArray = decrypt.getBytesFileAt(0) as ByteArray;
img.position = 0;
//将图片加到舞台上
var loader:Loader = new Loader();
loader.loadBytes(img);
addChild(loader);

非开发者如何使用动态流及DVR技术

通过此文可以了解一下动态流及DVR的简易配置和使用过程.
有些句子翻得不太顺, 见谅
http://flash.9ria.com/thread-35933-1-1.html

AIR List组件右键时选择列表项

当在List中某个item上点击右键时, 同时也要将该项选中.
可以通过以下方法实现.
首先使用自定义的itemRenderer.
在itemRenderer中注册菜单事件Event.DISPLAYING
在事件处理方法中, 派发鼠标事件:
MouseEvent.MOUSE_DOWN,和MouseEvent.MOUSE_UP即可.
或者派发自定义事件, 由父级捕获并处理.
但有一点要注意, 派发MouseEvent.MOUSE_DOWN事件后, 一定要派发MouseEvent.MOUSE_UP事件, 否则会导致拖拽功能失效(目前只发现这一点).
如果只dispatch了MouseEvent.MOUSE_DOWN, 跟踪源代码, 可以发现在ListBase类,mouseMoveHandler方法里处理拖拽的判断语句中:
DragManager.isDragging值始终是true.
继续跟踪到mx.managers.NativeDragManagerImpl类,
public function get isDragging():Boolean
{
return flash.desktop.NativeDragManager.isDragging;// || bDoingDrag;
}
到这里无法继续跟踪了, 返回数值true
不知道是不是AIR的bug.
附带项目代码:
点击下载此文件

通过命令行调用FlexPMD

FlexPMD可以用来改进Flex或AS3 Project的代码质量.
资料参考:
[b]
FlexPMD开源项目发布
使用FlexPMD改进AS3/Flex代码质量
FlexPMD – Finding worst practices in your projects
[/b]
Windows操作系统, 下载了command line版本(1.0.RC3). 解压到D:\Program Files\Adobe\flex-pmd
打开命令行窗口, 输入D:, 回车进入D盘, 输入cd D:\Program Files\Adobe\flex-pmd, 回车, 进入pmd目录
键入java -Xmx256m -jar flex-pmd-command-line-1.0.RC3.jar
注意更换版本号, 这里有可能与你下载的不同.
回车, 输出:
2009-9-3 9:59:08 com.adobe.ac.pmd.commandline.FlexPMD areCommandLineOptionsCorre
ct
严重: Usage: java com.adobe.ac.pmd.commandline.FlexPMD (-s|–sourceDirectory)
ourceDirectory> (-o|–outputDirectory) [(-r|–ruleSet)>] [(-e|–excludePackage) ]
-s 就是源代码目录, -o 输出检测结果目录, -r 检测规则 -e应该是排除检测的包
例如, 运行:
java -Xmx256m -jar flex-pmd-command-line-1.0.RC3.jar -s D:\Work\oVideoPlayer\src -o D:\testPMD
运行结束后, 发现生成了pmd.xml文件.
然后我们打开FlexPMD Violations Viewer, 将pmd.xml导入便可查看分析结果.
更详细的说明请参考文章开头三篇文章. […]