ActionScript3
yunzhongxia
这个作者很懒,什么都没留下…
展开
-
Image倒影效果
利用spark的BitmapImage实现倒影效果 <s:BitmapImage source="@Embed(source='images/sdp/112.png')" smooth="true" width="{image.width}" height="{image.height}" maskType="alpha" ..2012-02-20 10:11:12 · 120 阅读 · 0 评论 -
tree的labelFunction
可以通过labelFunction来自定义ComboBox、tree等组件的显示内容。有时我们需要统计非叶子节点子节点的个数。利用labelFunction就可以很容易的实现该功能,当然也可以通过itemRenderer实现。 private function tree_labelFunc(item:XML):String { va...2011-11-14 16:43:22 · 209 阅读 · 0 评论 -
点击非叶子节点,打开子节点
tree默认情况下只有点击非叶子节点前面的disclosureOpenIcon图标才会打开子节点,但是很多时候,我们需要点击节点的时候就打开子节点。 解决的办法就是监听tree的itemClick事件,利用isBranch方法判断当前操作的节点是否是终止节点,如果为true,则可以用expandItem打开当前节点。 代码如下: ...2011-11-14 16:37:25 · 237 阅读 · 0 评论 -
搜索tree并打开节点
tree如果节点比较多的时候查找一个节点很费事,因此需要在树的上面添加一个模糊搜索框,当文本的内容发生变化的时候,自动搜索树并打开选中相应的节点。 代码如下: //starts at the given node, walks up the tree opening nodes as it goes private fu...2011-11-14 16:26:02 · 196 阅读 · 0 评论 -
ComboBox 显示icon
spark中ComboBox默认渲染器是一个label,如果想修改显示方式,可以通过在skinClass来实现,默认的渲染器是DefaultItemRenderer。 MyComboBox.mxml <?xml version="1.0" encoding="utf-8"?><!--ADOBE ...2011-11-13 22:17:17 · 389 阅读 · 0 评论 -
给Spark Panel添加滚动条
spark中的滚动条不会像mx中自动的出现,但是可以通过Scroller添加滚动条。 下面的代码功能是对panel添加滚动条。 <s:Panel title="表单" width="400" height="300" id="panel" > <s:layout > <s:Ve2011-11-09 13:43:03 · 125 阅读 · 0 评论 -
小议电子商务网站地址薄用户体验
本人虽是一个网购者但不从事电子商务工作,今天从地址薄来谈谈我对用户体验的感受。 首先,让大家看看几个比较有名的B2C网站的地址薄截图 图1 ...2011-11-08 16:24:51 · 109 阅读 · 0 评论 -
tweenEnd和endEffect 的区别
tweenEnd API是这样写的 如果只播放一次补间效果,则此事件将与 effectEnd 事件同时发生。如果将补间效果配置为重复播放,则在每次重复播放效果结束时都会发生此事件,而在最后一次播放效果结束后发生 endEffect 事件。 effectEnd API是这样写的 当效果完成播放时(既可以是效果完成播放时,也可以是通过调用 ...2011-11-08 15:33:29 · 122 阅读 · 0 评论 -
解决flex4 spark 找不到外观错误
spark组件为了提高性能adobe做了很多努力,同时也给我们带来了很多“麻烦”,sprak与mx组件相比改动却是挺大的。 在一个module中使用spark的TextArea(动态创建TextArea)会报找不到TextArea的外观,即找不到TextArea的皮肤类TextAreaSkin,出现这个问题的原因是由于spark组件只编译使用的组件皮肤,因此动态创建的组件的...2011-11-08 14:43:06 · 127 阅读 · 0 评论 -
Repeater使用简介
mx组件中的Repeater类似与sprak中的DataGroup,可以根据数据源循环一些组件,例如:一组RadionButton。 网上的很多例子都是用mxml写的,本文将主要介绍用as来编写Repeater。 1 先定义好Repeater所在的容器,例如下面代码 <mx:Tile direction="horizontal...2012-05-09 19:26:40 · 213 阅读 · 0 评论 -
Flash Player11不能输入中文,请谨慎升级
很多时候,Flash的程序需要集成到其他系统中,这就可能需要设置wmode参数来配合html菜单,及flash和html弹出层的遮罩问题,在flash player10.3中adobe已经成功的解决了这个历史遗留问题,但是在最新的flash player11.1中死灰复燃。 这个问题已经被adboe确认为bug,详见https://bugbase.adobe.co...2011-12-18 01:04:47 · 198 阅读 · 0 评论 -
优化Flash Builder
Flash Builder4中新增了一个ASDOC的功能,但是很多时候这又是一个“累赘”-----影响性能,但是一个人性化的地方时可以关掉这个功能。见下图: 代码提示是一个编辑器不可缺少的功能,但是如果相应提示的速度过快的话,也会影响性能,你可以根据自己的爱好来设置代码提示相应时间。见下图 ...2011-12-18 00:54:40 · 121 阅读 · 0 评论 -
XML 删除节点
利用delete操作符号可以很容易的删除xml中的一个节点。 <mx:Script> <![CDATA[ protected function btn1_clickHandler(evt:MouseEvent):void { delete someXML.nodeToDe...2011-11-14 17:04:42 · 267 阅读 · 0 评论 -
设置spark的rowCount
在mx的列表组件中,可以通过设置rowCount,但是到了spark中缺“丢失”该属性,看过Commbox的skin类之后,才知道rowCount其实layout中设置的。 <!--- @private --> <s:Scroller id="scroller" left="0" top="0" right=...2011-11-15 08:48:38 · 156 阅读 · 0 评论 -
Flex设置z轴的index
flex4的UIComponent新增了depth属性,这个属性用来决定组件的z-index。 但是对于Canvas容器来说,是通过setChildIndex方法来设置z-index。2012-02-13 14:58:04 · 1027 阅读 · 0 评论 -
转 Adobe移动战略失败的幕后
最近一段时间,Adobe和Apple两个昔日的好伙伴,一直都处于硝烟弥漫当中,还有Google,微软等这些巨头,时不时的也会跳出来凑一下热闹。表面上看起来这一切都是开始于Apple CEO对Flash安全和性能上的指责,而实际上,和那些非常坚固的堤坝一样,内部的问题,才是导致其溃决的真正原因。丹·雷伯恩(Dan Rayburn), StreamingMedia.com执行副总裁,也是 ...2011-12-08 15:56:33 · 118 阅读 · 0 评论 -
得到一个字符的Unicode编码
ActionScript 3.0String类中函数charCodeAt()可以获得Unicode编码。 charAt(index:Number = 0):String 返回由参数 index 指定的位置处的字符。 String 返回由参数 index 指定的位置处的字符。如果 index 不是从 0 到 string.length - 1 之间的数字,则返回一...2012-02-09 12:59:18 · 464 阅读 · 0 评论 -
解决PopupManager.createPopup报错:状态“inactive”未定义
出现这种的场景是在Module中使用弹出窗口PopUpManager,但是parent参数是FlexGlobals.topLevelApplication 。 网上流行的做法是在解决方法是在Application中定义TitleWindow等Window对象,在adobe的官方论坛上http://forums.adobe.com/thread/713069 也说是这样解决...2012-02-04 21:27:45 · 132 阅读 · 0 评论 -
用chrome浏览器调试flex程序
开发flex程序难免需要debug,但是IE8浏览器有一种情况下不能debug:debug的时候需要登录(jsp页面),登录成功后再debug就会出现session丢失,出现这种的根本原因是IE8在debug的时候是单独的运行而不是在打开的浏览器中启动一个tab。 经过本人的测试,其他浏览器没有此问题。 chrome浏览器默认已经安装了flash playe...2012-02-04 18:55:05 · 212 阅读 · 0 评论 -
List或DataGrid可变行高
默认情况下List组件是每行的行高是固定的,但有时需要根据每行的内容显示不同的行高,variableRowHeight决定了是否用可变行高,默认情况下为false即固定行高。 下面的例子使用wordWrap和variableRowHeight来实现可变行高的功能 列表组件,包含List和ComboBox <mx:L...2011-11-29 21:57:13 · 143 阅读 · 0 评论 -
访问flex sdk版本和Flash player版本
下面的代码将flex sdk的版本号和Flash player版本号添加到右键菜单中。 var customMenuItem1:ContextMenuItem = new ContextMenuItem("Flex SDK " + mx_internal::VERSION, false, false);var customMenuItem2:Co...2011-11-16 15:52:46 · 210 阅读 · 0 评论 -
设置TitleWindow的closeButton的mode
默认情况下,TitleWindow的closeButton的mode是false的,但是如果想设置mode为true,那么在TitleWindow中如何访问closeButton呢? 在spark的TitleWindow中提供了closeButton属性,但是在mx中没有提供该属性。 mx中可以通过mx_internal访问到closeButton。 ...2011-11-16 15:42:54 · 158 阅读 · 0 评论 -
DataGrid header显示tooltip
有时需要在DataGrid的header上显示提示信息,例如列名比较长,但是实际值比较短这就可以使用列头的tooltip,当然也可以列头换行。 <?xml version="1.0" encoding="utf-8"?><!-- http://blog.flexexamples.com/2008/02/08/displaying-to...2011-11-15 17:18:33 · 401 阅读 · 0 评论 -
flash右键菜单项关键字
有时需要在flash的右键菜单中添加 删除 项,但是就是不显示出来,查了下API才知原来删除是flash的关键字,不能使用的。 自定义菜单项出现在上下文菜单的顶部,并位于所有内置菜单项之上。有一条分隔条将自定义菜单项与内置菜单项分开。在 AIR 中,不存在内置菜单项,且下列限制不适用于 AIR 应用程序沙箱中的内容。限制:向上下文菜单添加的自定...2011-11-15 16:26:16 · 108 阅读 · 0 评论 -
利用SharedObjects保存信息
flash没有像html的cookies,但是通过SharedObjects可以实现类似的功能。 创建SharedObjects并保存用户名称 //create a shared object to store the user name this line actually//specifies the file name (us...2011-11-15 08:49:14 · 159 阅读 · 0 评论 -
设置DataGrid的DataGridColumn的width
DataGrid的column的width属性不接受百分比,只接受一个具体的像素值。但是可以设置为一个小数,所有列的小数值的和必须为1,其实还是可以设置百分比的。如果你resize 大小之后有时你会发现列的大小会发生细微的变化。因此这种方法设置列还是不精确的。 导致这种原因是DataGrid在处理horizontalScrollPolicy写的不够严密造成的...2011-12-18 00:42:26 · 1146 阅读 · 0 评论 -
RollOver和MouseOver的不同
共同点:都是针对鼠标的进入和进出事件。 不同点: 1 如果对一个容器添加Button,那么RollOVer和RollOut事件只有在移入或移出容器的时候才触发,移入或移出Button上时不会执行RollOVer或RollOut事件。 2 RollOVer和RollOut不会执行冒泡事件,MouseOver和MouseOut会执行冒泡事件。...原创 2011-12-12 15:03:01 · 149 阅读 · 0 评论 -
Panel拖动
在flex中Panel等组件不直接支持拖动,为了让Panel等组件支持拖动功能,外面可以监听MouseDown和MoudeUp事件。例如下面的代码就可以实现Panel的拖动了。 <?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mx...2011-09-08 14:05:36 · 187 阅读 · 0 评论 -
mx和spark中的文本组件对比
在flex4中mx中的文本组件和spark的文本组件发生了比较大的变化,例如:mx中Label不能自动换行及单行文本组件,在spark组件中,Label是可以显示多行的;mx中TextInput组件不支持提示信息(prompts),但是在sparkz组件中就支持了。有关详细的区别,API中已经写的很详细了,下面是两个的功能对比图。 mx文本组件 ...2011-08-26 15:58:03 · 99 阅读 · 0 评论 -
AS3类关系图AIR版
以前看过adobe发布的pdf版的as3关系图,但是感觉使用着不方便,今天找到一个AIR版本的as3类关系图,感觉跟使用地图一样,附件是该air的安装程序,下面来欣赏下效果图。 ...2011-08-25 09:28:23 · 152 阅读 · 0 评论 -
Flex4中双向绑定
flex4中新增了双向绑定功能,有三种方式可以来实现绑定: 1 <!-- Specify data binding for both controls. --><s:TextInput id="input1" text="{input2.text}"/><s:TextInput id="input2" text=".2011-08-23 10:21:19 · 88 阅读 · 0 评论 -
转 接口滥用问题
我们知道,大家提倡面向接口编程,但凡事都有个度,当滥用,那么面向接口完全流于形式。 一.首先,我们先讲一下面向约定编程。企业编程中,都有一定的项目分层编程规范,如前台与后台逻辑之间的联系通过定义接口来完成。正如我们平时使用的 MVC三层模形,service层,dao层很多都使用接口,那么新来者肯定也要遵守规范,在这三层使用接口。就是大家约定成俗都使用接口而已。但请确记,你这不是...原创 2011-08-22 16:57:10 · 178 阅读 · 0 评论 -
flex全局异常
从Flash Player 10.1 和Adobe AIR 2.0 开始,开发人员就能够全局地捕获未处理异常和错误。然而,我们尽量在异常发生时来做处理。全局处理应该只用于您确实无法用其他方法控制的异步异常,或者未经本地捕获的诊断和日志异常。 全局异常一个核心类就是UncaughtErrorEvent.UNCAUGHT_ERROR,LoaderInfo对象可以监听该事件,Ap...2011-08-22 10:16:44 · 258 阅读 · 0 评论 -
Flex使用Https协议
1、https是安全认证协议,所以要采用SecureAMFChannel通道。即 <channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel"> <endpoint url="https://{server.name}:{...2011-08-19 11:46:22 · 483 阅读 · 0 评论 -
loaderInfo为null在creationComplete事件中
Flex4中application变为FlexGlobals.topLevelApplication,很多时候需要在Application的creationComplete事件中处理一些全局的事情,例如获得swf的url地址来跟后端进行交互,但是我们发现在creationComplete事件中,FlexGlobals.topLevelApplication的loaderInfo为n...2011-08-18 17:44:45 · 94 阅读 · 0 评论 -
Flex日志详解
log4j对于java开发者最熟悉不过了,log4j不仅可以控制日志输出的目的地,还可以控制日志输出级别,便于调试和发布,一个好的产品需要记录很多日志便于日后的维护,尤其是产品上线之后。 在Flex中也提供了这样的一个框架,Logging API就是最基本的日志控制框架,只不过大部分的人都在用最简单的trace()函数罢了,类似于js开发常用的alert。 Logg...2011-08-16 14:28:23 · 129 阅读 · 0 评论 -
Flash强制垃圾内存回收测试
java和flash的垃圾回收都是一个比较热门的话题,今天我也用一个例子来测试下flash的强制垃圾回收。主要用到的而一个类是LocalConnection。 在Flash player的debug版本中提供了gc的方法 Flash Player初始化运行时,会向操作系统申请一大块内存,如果程序很小,有可能根本用不了这么...2011-08-15 17:39:58 · 130 阅读 · 0 评论 -
监听事件传多个参数
在mxml标签里面添加事件时的传参的例子。 <?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"><mx:Script><![CDATA[ public function runMove(dir:String, ...2009-12-05 22:09:51 · 566 阅读 · 0 评论 -
Spark DataGrid默认列宽
spark DataGrid可以用typicalItem来定义Spark DataGrid的列宽。默认下,如果没显示指定Spark DataGrid列宽,也没指定典型项,会使用第一个数据提供程序项来设置列宽。如果在Spark DataGrid中设置了典型项,相当于为各列设定了一个宽度占位,列宽相对于各列占位字符串的长度计算。字体加大时,列宽会自动增加。MX DataGrid如果没显示指...2011-09-08 14:58:18 · 226 阅读 · 0 评论 -
Spark ComboBox新功能
在spark组件中ComboBox增加了prompt属性,类似于在选择框增加一个提示信息,例如 “--请选择--”,但是adobe还增加了一个更加实用的功能,ComboBox可以输入文字进行过滤列表,匹配上的会着色加重显示。 简单的例如代码如下: <?xml version="1.0" encoding="utf-8"?><s...2011-09-08 15:38:36 · 94 阅读 · 0 评论