08月 29th, 2008
个别翻译可能不太准确,欢迎指正:
1. 设计支持
a) 改进MXML语言,以支持更多所需要的特性,让它更容易描述用户体验导向的界面,比如状态和状态之间的变化(MXML2009)。
b) 增加一种文档格式,用于更好的组织FlashPlayer中的显示内容,并更方便的描述图形元件,包括皮肤(FXG)
c) 使用更简单的工具制作组件和皮肤
d) 改善现有的体验导向的特性,比如状态,特效和布局
目标应用:
l 所有基于Flex3的应用
l 简单的事件驱动的网站
l 选择器/简单的项目浏览器
l 中等复杂程度的RIA应用界面/产品选择器
l 交互性的小插件
如何做到:
l 融合新的Gumbo特性到现有的组件结构
l 创建新的设计友好的组件
l 文件尺寸不会与Flex3出入太大
l 更小的尺寸和性能改进
2. 开发效率
a) 编译性能
b) 双向绑定(2-way binding)
c) 对AIR的自动化支持
d) CSS改进,增加多样式名称的支持,ID选择器
3. 框架改进
a) 于flashplayer10中改善的文本渲染特性
b) 双向布局和文本支持
c) 新的视频组件
Tags: Flex4
Posted in Flex | No Comments »
08月 21st, 2008
Adobe AIR在过去的数月间已经越来越被大家认可了,正是由于它应用的越来越广泛,许多新的基于AIR的应用不断出现。在这段时间里,我发现了以下的10个问题,很多开发人员在开发AIR的过程中都出现了这些问题。非常希望这个列表能帮助你在开发AIR应用的时候避免出现这些问题。
1.没有考虑平台的差异性
很多开发者工作在特定的平台下,比如Windows,他们想当然的开发只支持Windows的应用特性,而没有考虑到在Mac平台下用户怎么样去完成交互;同样Mac平台下的开发者也存在同样的问题。不理解这些概念,可导致应用程序给予用户极其糟糕的用户体验。
2.没有嵌入更新机制
在WEB移植到桌面的过程中一个很重要的改变就是更新的方式。不再是是否使用者“到你们这里来”获取您的应用程序,而是你应该传送你的应用给用户。事实上使用Adobe AIR Update Framework很容易做到这一点,但你如果没有考虑到这个机制,你的用户或许永远无法得到你的更新。
3.在应用发布后改变应用的ID
AIR应用通过如下的两个元素来确认一个应用:应用ID和发布者ID。这些元素是非常重要的,当你发布你的应用时。如果你改变了它们中的一个,那么用户可能无法更新他们的应用到最新版。甚至有可能让用户同时安装了旧版和新版。
4.没有支持离线方式
AIR是支持离线方式的,而如果你的应用没有考虑到这一点,那么你的用户在离线方式下的工作可能会很糟糕。
5.没有按照AIR的特性来思考
AIR API是非常强大的,但很多开发者还对这些不太了解,没有应用这些特性。比如,我听说有的开发者试图用文本文件加密数据而不是用EncryptedLocalStore功能,或者用文本存储数据而不是用SQLite数据库,尽管后者能提供更强大的功能和更好的支持。
6.使用自定义功能制作一个难用的界面
自定义界面(菜单栏,交互方式)可以改善用户的交互,但如果使用不当,或者有悖于标准的操作流程,用户将会感觉难以使用,如果用户不能轻易最大化,最小化,或打开一个应用程序窗口,那么他们使用你的应用的几率就非常小了。
7.没有使用install badge来部署你的应用
AIR Install Badge提供了无缝的方式来部署你的AIR应用,你还不知道它吗?那就太遗憾了。你可以在Adobe Labs找到它。
8.没有加密重要数据
在你通过互联网传输敏感数据的时候,是否将它加密了?记住互联网是不安全的,请慎重处理数据的传输。
9.没有保留本地系统的交互方式
在一个整体系统中,交互方式应该是统一的。比如在Windows下,Ctrl+C就是复制,而在Mac下面是Command+C。这些都是固有类型的行动,需要予以保留,使用户可以有一个惯性的经验在里面。否则只会造成混乱和下降的可用性。
10.没有考虑性能问题
开发桌面应用应该是非常好的体验。它打破了浏览器中许多制约你的因素。然而,你还是要考虑一些问题,例如内存和处理器利用率。这些问题变得更加复杂,当你开发了资源密集型的应用,如自定义导航和自定义窗口透明度。正如一个Web应用程序,每一个AIR应用,应测试系统异常以及系统资源的利用率。如果你正在使用Flex创造一个AIR应用,你可以使用Profiler来检视你的应用程序的资源利用情况。
原文地址:
http://www.adobe.com/devnet/air/articles/10_common_mistakes_air.html
Tags: AIR
Posted in Flash | 1 Comment »
08月 21st, 2008
详细很多朋友看到过这种效果,图片的轮换展示,广告上很常用。效果如下图所示:

代码有点乱,没有封装,只是说明一下思路,感兴趣的朋友可以把结构调整的更好一点:
Actionscript:
-
//var picString:String="picShowDemo.jpg|picShowDemo2.jpg|picShowDemo.jpg|picShowDemo2.jpg";
-
//var urlString:String="1|2|3|4";
-
var picString=stage.loaderInfo.parameters.picString;
-
var urlString=stage.loaderInfo.parameters.urlString;
-
var pics:Array=picString.split("|");
-
var urls:Array=urlString.split("|");
-
var currentPic:uint=0;
-
/*repeat*/
-
var myTimer:Timer = new Timer(3000,0);
-
myTimer.start();
-
myTimer.addEventListener(TimerEvent.TIMER, timerHandler);
-
var showTimer:Timer = new Timer(50,10);
-
showTimer.addEventListener(TimerEvent.TIMER, timerHandler2);
-
var targetY:uint=0;
-
var slideTimer:Timer = new Timer(50,50);
-
slideTimer.addEventListener(TimerEvent.TIMER, timerHandler3);
-
/*create pic button*/
-
for(var i:uint=0;i<pics.length;i++) {
-
var b:pbt=new pbt();
-
b.name="b"+i;
-
b.t.text=String(i+1);
-
b.y=i*45;
-
b.addEventListener(MouseEvent.MOUSE_OVER,flipByMouse);
-
b.mouseChildren=false;
-
addChild(b);
-
}
-
/*Loader*/
-
var l:Loader=new Loader();
-
l.x=36;
-
l.addEventListener(MouseEvent.CLICK,openURL);
-
l.contentLoaderInfo.addEventListener(Event.COMPLETE,showPic);
-
addChild(l);
-
buttonMode=true;
-
/*Flip*/
-
flip(currentPic);
-
function flip(num:uint):void {
-
l.load(new URLRequest(pics[num]));
-
loadding.visible=true;
-
//slider.y=45*num;
-
moveMcTo(45*num);
-
}
-
function flipByMouse(e:MouseEvent):void {
-
var i:uint=e.target.name.split("b")[1];
-
myTimer.stop();
-
flip(i);
-
}
-
function showPic(e:Event):void {
-
l.alpha=0;
-
loadding.visible=false;
-
showTimer.reset();
-
showTimer.start();
-
}
-
function timerHandler(e:TimerEvent):void{
-
currentPic++;
-
if(currentPic==pics.length) {
-
currentPic=0;
-
}
-
flip(currentPic);
-
}
-
function openURL(e:MouseEvent):void {
-
navigateToURL(new URLRequest(urls[currentPic]));
-
}
-
function timerHandler2(e:TimerEvent):void{
-
l.alpha+=0.1;
-
}
-
function moveMcTo(y:uint):void {
-
targetY=y;
-
slideTimer.reset();
-
slideTimer.start();
-
}
-
function timerHandler3(e:TimerEvent):void{
-
slider.y+=(targetY-slider.y)/2;
-
}
Tags: AS3教程
Posted in Flash | No Comments »
08月 14th, 2008
在上次的RIAMeeting聚会上,大家可能还记得7yue的演讲内容中有一小段,介绍了Adobe的FMS将与CCTV合作,为CCTV提供流媒体和数字版权保护。现在我们看到的这个CCTVOlympics估计就是了。

地址:http://www.cctvolympics.com/
不过感觉不爽的是CCTV趁机推广它的播放器,就是说你单纯使用Flash Player是看不了地。
BTW:发现这次奥运会很多网站都在推自己的播放器,QQ Live,搜狐,网易...加这次的CCTV,其实都是一个目的,占领桌面。这就让人更加感慨Adobe发展AIR方向的正确性了。
Posted in 杂谈 | 1 Comment »
08月 12th, 2008
在as2中想监听下载进度的话最好使用MovieClipLoader
具体用法:
Actionscript:
-
this.createEmptyMovieClip("image_mc", this.getNextHighestDepth());
-
var mclListener:Object = new Object();
-
mclListener.onLoadInit = function(target_mc:MovieClip) {
-
target_mc._x = Stage.width/2-target_mc._width/2;
-
target_mc._y = Stage.height/2-target_mc._height/2;
-
};
-
var image_mcl:MovieClipLoader = new MovieClipLoader();
-
image_mcl.addListener(mclListener);
-
image_mcl.loadClip("400.swf",image_mc);
Posted in Flash | No Comments »
08月 7th, 2008
Posted in Flex | No Comments »
08月 5th, 2008
为大家带来一个好消息,RIAMeeting本月中旬将在上海举办一次开发者交流会议,在上海的朋友要睁大眼睛关注啦!
会议主题:Flex/AIR的实践应用
1.Integrate C++ code with AIR/Flex

2.Flex Menu in Windows style (e.g. the IE menu bar)

演讲嘉宾:陈晓燕 (Adobe R&D)
会议时间:2008年8月15日
详细信息:
http://www.riameeting.cn/?p=97
Posted in 杂谈 | No Comments »
08月 3rd, 2008
感兴趣的朋友点击这里观看
了解到一点陈年往事:SilverLight的最初目的是应用于微软Live战略中的广告展示
以下是MVP讲的SilverLight的优势:
1.更好的离线应用(印象里SilverLight不具备离线功能,难道新版支持了?)
2.更好的用户体验
3.搜索引擎SEO
4.专业的开发平台(.NET平台)
5.高清视频和DRM(数字媒体保护)
我要说的是,这几个优势都是Adobe Flash Player已经具有的,或者将在下一个版本着重改善的。看来RIA领域的竞争要进入持续的白热化...
Posted in 杂谈 | No Comments »
07月 24th, 2008
XML:
-
<application xmlns="http://ns.adobe.com/air/application/1.0"></application>
-
<!-- Adobe AIR 配置文件模板.
-
自定义参数用于安装,运行AIR程序.
-
详情参见 http://www.adobe.com/go/air_1.0_application_descriptor for complete documentation.
-
xmlns - Adobe AIR 命名空间: http://ns.adobe.com/air/application/1.0
-
minimumPatchLevel - 运行程序需要的最低 AIR runtime 版本号. 可选.
-
-->
-
<!-- 应用程序的ID标示字符串,必须 -->
-
<id>MZDown</id>
-
<!-- 程序的文件名称,必须 -->
-
<filename>MZDown</filename>
-
<!-- 显示在AIR安装过程中的程序名称,必须 -->
-
<name>MZDown</name>
-
<!-- 程序版本 (比如 "v1", "2.5", 或 "Alpha 1"). 必须 -->
-
<version>v1</version>
-
<!-- 描述,显示于AIR的安装过程中,可选 -->
-
<description></description>
-
<!-- 版权信息,可选 -->
-
<copyright></copyright>
-
<!-- 程序运行窗口设置,必须 -->
-
<initialwindow>
-
<!-- 应用程序的主文件,SWF或HTML格式的,必须 -->
-
<!-- 注意: 在Flex Builder中, 这个参数是自动设置的 -->
-
<content>MZDown.swf</content></initialwindow>
-
<!-- 主窗口的标题,可选 -->
-
<title></title>
-
<!-- 使用系统主题的类型 (使用 "standard" 或 "none"). 可选. 默认是 standard. -->
-
<systemchrome>none</systemchrome>
-
<!-- 指示窗口是否是透明的. 只有当过systemChrome设置为false的时候才起作用. 可选. 默认是false. -->
-
<transparent>true</transparent>
-
<!-- 指示窗口是否自动显示. 可选. 默认是false. -->
-
<visible>true</visible>
-
<!-- 指示用户是否可以最小化窗口. 可选. 默认是true. -->
-
<minimizable></minimizable>
-
<!-- 指示用户是否可以最大化窗口. 可选. 默认是true. -->
-
<maximizable></maximizable>
-
<!-- 指示用户是否可以更改窗口大小. 可选. 默认是true. -->
-
<resizable></resizable>
-
<!-- 窗口初始宽度,可选 -->
-
<width>800</width>
-
<!-- 窗口初始高度,可选 -->
-
<height>600</height>
-
<!-- 窗口初始X轴坐标,可选 -->
-
<x></x>
-
<!-- 窗口初始Y轴坐标,可选 -->
-
<y></y>
-
<!-- 窗口的最小尺寸, 请按照宽度/高度的格式编写, 比如"400 200". 可选 -->
-
<minsize></minsize>
-
<!-- 窗口的最大尺寸, 请按照宽度/高度的格式编写, 比如"800 600". 可选 -->
-
<maxsize></maxsize>
-
<!-- 标准的程序文件安装路径设置. 可选 -->
-
<installfolder></installfolder>
-
<!-- 操作系统程序/菜单中的路径设置. 可选 -->
-
<programmenufolder></programmenufolder>
-
<!-- 程序的图标设置. 可以自定义路径到AIR安装包中的PNG格式图片的位置. 可选 -->
-
<icon>
-
<image16x16></image16x16>
-
<image32x32></image32x32>
-
<image48x48></image48x48>
-
<image128x128></image128x128>
-
</icon>
-
<!-- 用户手动更新 (true), 或由默认的 AIR 应用处理更新 (false).可选,默认是false. -->
-
<customupdateui></customupdateui>
-
<!-- 否允许用户通过点击浏览器中的链接来启动程序,可选,默认是false -->
-
<allowbrowserinvocation></allowbrowserinvocation>
-
<!-- 程序可注册的文件类型. 可选. -->
-
<filetypes></filetypes>
-
<!-- 定义文件类型. 可选. -->
-
<filetype></filetype>
-
<!-- 在系统中显示的文件类型名称. 必须. -->
-
<name></name>
-
<!-- 要注册的扩展名. 必须. -->
-
<extension></extension>
-
<!-- 文件类型的描述. 可选. -->
-
<description></description>
-
<!-- MIME 类型. 可选. -->
-
<contenttype></contenttype>
-
<!-- 这个文件类型的图标显示. 可选. -->
-
<icon>
-
<image16x16></image16x16>
-
<image32x32></image32x32>
-
<image48x48></image48x48>
-
<image128x128></image128x128>
-
</icon>
Tags: AIR
Posted in Flex | No Comments »
07月 21st, 2008
火热七月,非一般的七月,有7yue做嘉宾的RIAMeeting第七次会议将在7月召开。
这次的会议的主题:
Flash视频技术与应用
时间:
2008年7月26日
地点:
北京市建国门外大街1号国贸中心西楼309-10室(Adobe系统软件(北京)有限公司)
会议日程:
13:30–14:00 签到时间
14:00-15:00 1 Dynamic Media & Flash Media Server 主讲:马鉴 7yue
15:00–16:00 Open Source Project Red5 主讲:Bill lee
16:00–17:00 分组讨论
本次报名将采用系统报名的方式,请到这里报名。
Posted in 杂谈 | No Comments »