- Your Locale:
- English (United States)
- Your Time Zone:
- Coordinated Universal Time
- Digital Media Minute (1 hour)
- FlashMoto Blog (1 hour)
- RockOnFlash (1 hour)
- Eje-Zeta (1 hour)
- Flash Of Scarlet (1 hour)
- flexComponent (1 hour)
- MMIstanbul.com (2 hours)
- yet another ColdFusion blog (2 hours)
- TrajiklyHip: ColdFusion (2 hours)
- Layers Magazine (2 hours)
输出AIR 2.0 EXE文件 (转)
原文地址:http://blog.everythingflex.com/2009/11/17/your-first-air-2-0-exe-file在原文的基础上, 把AIR的配置也加上了.以Windows平台, Flash Builder beta 2为例.首先下载AIR 2.0 SDK.然后根据说明配置SDK:1.复制现有的SDK文件夹到当前路径并重命名;2.将下载的AIR 2.0 SDK解压, 并将里面的文件复制并覆盖到新SDK文件夹中.3.打开Flash Builder,打开项目Properties对话框, 选择Flex Compiler4.点击Configure Flex SDKs5.添加刚刚合并的Flex 和 AIR 2 SDK文件夹 (也可打开Preferences窗口,Flash Builder->Installed Flex SDKs添加)6.此时可以使用这个版本的SDK使用AIR 2 API了.然后我们新建一个程序:打开配置文件,版本已经变为2.0beta了:程序代码:<?xml version="1.0" encoding="utf-8"?><mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Label fontSize="72" text="Hello, AIR 2.0" horizontalCenter="0" verticalCenter="0"/></mx:WindowedApplication>之后发布AIR安装包, 安装运行, 界面如下:接下来, 按照Rich Tretola的方法发布exe版:运行(若提示找不到java, 可先配置环境变量):adt -package -target native D:\Study\Adobe\Flash\10.1\Air2Test\Air2Test.exe D:\Study\Adobe\Flash\10.1\Air2Test\Air2Test.air之后可以在项目文件夹下看到生成了Air2Test.exe程序.运行:还能输出dmg和rpm文件:adt -package -target native D:\Study\Adobe\Flash\10.1\Air2Test\Air2Test.dmg D:\Study\Adobe\Flash\10.1\Air2Test\Air2Test.airadt -package -target native D:\Study\Adobe\Flash\10.1\Air2Test\Air2Test.rpm D:\Study\Adobe\Flash\10.1\Air2Test\Air2Test.air-target native只有三个选项:exe, dmg, rpm.当然, Air2Test.exe的顺利安装仍然需要AIR运行时. (translate)
输出AIR 2.0 EXE文件(zt)
原文地址:http://blog.everythingflex.com/2009/11/17/your-first-air-2-0-exe-file在原文的基础上, 把AIR的配置也加上了.以Windows平台, Flash Builder beta 2为例.首先下载AIR 2.0 SDK.然后根据说明配置SDK:1.复制现有的SDK文件夹到当前路径并重命名;2.将下载的AIR 2.0 SDK解压, 并将里面的文件复制并覆盖到新SDK文件夹中.3.打开Flash Builder,打开项目Properties对话框, 选择Flex Compiler4.点击Configure Flex SDKs5.添加刚刚合并的Flex 和 AIR 2 SDK文件夹 (也可打开Preferences窗口,Flash Builder->Installed Flex SDKs添加)6.此时可以使用AIR 2 API了.然后我们新建一个程序:打开配置文件,版本已经变为2.0beta了:程序代码:<?xml version="1.0" encoding="utf-8"?><mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Label fontSize="60" text="Hello, AIR 2.0" horizontalCenter="0" verticalCenter="0"/></mx:WindowedApplication>之后发布AIR安装包, 安装运行, 界面如下:接下来, 按照Rich Tretola的方法发布exe版:运行(若提示找不到java, 可先配置环境变量):adt -package -target native D:\Study\Adobe\Flash\10.1\Air2Test\Air2Test.exe D:\Study\Adobe\Flash\10.1\Air2Test\Air2Test.air之后可以在项目文件夹下看到生成了Air2Test.exe程序.运行:还能输出dmg和rpm文件:adt -package -target native D:\Study\Adobe\Flash\10.1\Air2Test\Air2Test.dmg D:\Study\Adobe\Flash\10.1\Air2Test\Air2Test.airadt -package -target native D:\Study\Adobe\Flash\10.1\Air2Test\Air2Test.rpm D:\Study\Adobe\Flash\10.1\Air2Test\Air2Test.air-target native只有三个选项:exe, dmg, rpm.当然, Air2Test.exe的顺利安装仍然需要AIR运行时. (translate)
Flash Player 10.1 麦克录制测试
照着ADOBE的在线文档做了一个测试程序, 录制声音5秒再播放, 代码基本都是帮助文档中的.许多人的愿望到今天终于实现了 :)预览(需要flash player 10.1):FirstApp下载代码:点击下载此文件另外, 在jinni的文章中列出了很多AIR2的应用, 其中就包括录制并保存,还可以调用关联程序播放的例子:http://blog.everythingflex.com/2009/11/17/air-2-0-sample-applications/ (translate)
AIR 2.0 Beta and Flash Player 10.1 Prelease
详细如下:http://swfever.com/?p=627与http://flash.9ria.com/thread-39581-1-1.html他们的速度真快, 我只赶上个消息尾巴~~Flash Player 10.1 Beta 下载AIR 2.0 Beta 下载 (translate)
RSA Encryption for Flex 4 RSLs
原文地址:http://www.gridlinked.info/how-to-encrypt-flex-rsls/这里截取并尝试翻译了一段FLEX程序初始化及此解密过程.应用启动过程:1. 首先, 为第1帧加载足够的数据.2. Flash Player通过创建SystemManager实例执行加载数据.3. SystemManager命令Flash Player停止在第一帧.4. SystemManager创建Preloader, 通过它创建DownloadProgressBar控件并显示在客户界面上.5. Preloader开始从FLEX SWF(或外部SWF)加载其余数据. 一旦FLEX框架及程序代码数据加载, System Manager跳到第2帧并初始化Application实例. 1) 所有的RSL及相关类现在已加载[到ApplicationDomain]; 注意加载的顺序就是app编译时定义的顺序. 2) 所有应用程序使用的类定义(视图, 逻辑等)先加载到第2帧. 注意这里, 在第一帧的preloader代码甚至可以在FLEX框架类加载前, 安装补丁到其中. 3) 这种技术就被叫做"monkey-patching", 会被用在后面提到的解密过程中.6. 一旦Application实例创建, SystemManager设置 Application.systemManager指向自己, 之后你就可以访问SystemManager了.7. Application在初始化处理开始前派发预初始化(preinitialize)事件.8. Application继续创建内部实例. application调用createChilden()方法. 这时每个应用的组件被构造并调用自己的createChilden()方法. 具体情况参考组件生命周期章节.9. Application派发初始化(initialize)事件, 指明所有的组件已被初始化.当然, 此时所有的组件尚未布局.10.最后,所有的子控件及容器被创建并设置大小及位置后, Application就会派发creationComplete事件.11.creationComplete事件派发后, Preloader移除DownloadProgressBar 控件, SystemManager将Application实例加到Flash Player的 显示列表中(Flash Player display list基本上是个树结构, 包含着可视及潜在可视对象,构成整个应用. 当向应用中添加或移除组件时, 基本上就是将它们从显示列表(display list)中添加或移除掉). 12.Application一旦添加到Flash Player显示列表中, Application派发applicationComplete事件.13.Application此时已被创建好并显示到屏幕上准备与用户交互了.这种RSL的解密过程如下:1.Flash Player加载已加密的RSL/SWF并同时派发RSLError事件; 这会停止预加载过程使程序"挂起".2.中断掉这个事件防止由于冒泡机制被其他监听器捕获; 这能有效的阻止加载序列中的其他RSL.3.使用Nitro-LM,异步请求RSA解密密钥.4.重新加载加密的RSL(清除已加载的SWF字节码).5.解密数据.6.将已经解密的数据加载到AVM中.7.通知Preloade恢复加载其他等待的RSL.很巧妙的一个方法 :) (translate)
读取视频流的时间码
FMLE3中有TimeCode选项, 可按Frame Interval将时间嵌入到视频流中.格式为HH:MM:SS:FF客户端接收:AS2://ns是NetStream实列ns.onFI = function(infoObj):Void{ //infoObj["st"] //infoObj["sd"] //文档上记载的是tc, 这个可能是FME2.5的输出, 没做验证 for( var i:String in infoObj) { trace(i+" : "+infoObj[i]); }}AS3://ns是NetStream实列ns.client.onFI = onFI;private function onFI(infoObj:Object):void{ for(var i:String in infoObj) { trace(i, infoObj[i]); }}这样就能根据视频时间进行某些操作了PDF文档下载 (translate)
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.附带项目代码:点击下载此文件 (translate)
通过命令行调用FlexPMD
FlexPMD可以用来改进Flex或AS3 Project的代码质量.资料参考:FlexPMD开源项目发布使用FlexPMD改进AS3/Flex代码质量FlexPMD - Finding worst practices in your projectsWindows操作系统, 下载了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 areCommandLineOptionsCorrect严重: Usage: java com.adobe.ac.pmd.commandline.FlexPMD (-s --sourceDirectory) <sourceDirectory> (-o --outputDirectory) <outputDirectory> [(-r --ruleSet) <ruleSet>] [(-e --excludePackage) <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导入便可查看分析结果.更详细的说明请参考文章开头三篇文章. 总之, 是个不错的工具. (translate)
《心灵之窗》
信息来源:http://acfun.cn/html/art/20090830/45330.html百度原帖看后感觉很震惊, 已经抄袭到这种地步了! 学学新海诚的手法是不错的, 但直接拿来用就不对了. (translate)
切换页面中SWF的显示
要实现两个嵌入SWF的DIV显示切换.可通过设置display, visibility, height/width及left等(因为两个层的position都是absolute)实现.对于display, 当SWF依附层隐藏再显示后, 通过JavaScript调用SWF内部方法时会提示找不到方法.换作火狐3.5测试, 此现象消失, 换回IE8, 一切如故.测试visibility, 结果一样. 反复测试, 最终放弃使用这两个属性, 换作height=0来隐藏SWF层.P.S. 使用AC_FL_RunContent插入SWF文件同时找到一篇切换SWF的文章:http://pipwerks.com/lab/swfobject/hide-swf/2.0/index.html (translate)