8.12.使用阈值

评论(0)浏览(84)分类:flash/flex/fcs/AIR
8.12.使用阈值问题我要在位图上基于当前象素值进行修改解决办法使用BitmapData类的threshold( )方法讨论threshold( )方法可能是BitmapData 方法中最复杂的一个了,但是它的功能十分强大,该方法使用两个BitmapData对象:destBitmap, 要修改的位图sourceBitmap, 原位图,需要此位图象素作为计算数据该方法用6个比较操作符和指定的值与源位图的每个象素作比较,..

5.11.实现自定义排序

评论(0)浏览(84)分类:flash/flex/fcs/AIR
5.11.实现自定义排序问题我要自定义数组排序解决办法把自定义比较的函数引用传递给sort( ) 方法讨论如果要自定义排序,可用sort( ) 方法和自定义比较函数。sort( ) 方法重复调用比较函数对两个数组元素进行比较,比较函数接受两个参数即数组元素(我们称为a和b),根据具体的排序方式返回正数,负数或0。如果返回负数,a排在b前,如果返回0,位置不变,如果返回正数..

19.4.检测读取进度

评论(0)浏览(84)分类:flash/flex/fcs/AIR
19.4.检测读取进度问题我想知道数据读取的进度解决办法监听URLLoader的progress事件讨论URLLoader类有个progress事件,当正在下载数据时该事件就会触发。Flash播放器传递一个flash.events.ProgressEvent实例给事件处理函数,以便检查该事件的bytesLoaded和bytesTotal属性。bytesLoaded属性是指已经读取的数据量,bytesTotal属性是指总共要读取的数据量。下面的代码..

2.14.处理focusIn和focusOut事件

评论(0)浏览(84)分类:flash/flex/fcs/AIR
2.14.处理focusIn和focusOut事件2.14.1. 问题我想要在用户聚焦在一个标签上时,显示一个弹出窗口,并且当用户离开聚焦的时候关闭这个弹出窗口。2.14.2. 解决办法使用focusIn 和focusOut 事件(在InteractiveObject 类的子类的所有实例都可用)来调用PopUpManager 相关的方法。2.14.3. 讨论在用户聚焦时启动一个窗口,你可以重用前两节的代码。不过就是把弹出窗口的启动从用户点..

2.4.使用SWFLoader载入SWF

评论(0)浏览(84)分类:flash/flex/fcs/AIR
2.4.使用SWFLoader载入SWF2.4.1. 问题我想要运行时载入外部的可能由Flex3 或者FlashCS3 创建的SWF 文件到当前的Flex 应用程序。2.4.2. 解决办法使用SWFLoader 组件在运行时载入外部SWF 文件。2.4.3. 讨论使用SWFLoader 组件在运行时载入外部SWF 文件。下列例子载入了外部的SWF 到TabNavigator 的一个子元件Canvans 容器中。SWFLoader 的source 属性引用了需要被运行时载入..

23.3.监视文件下载进度

评论(0)浏览(84)分类:flash/flex/fcs/AIR
23.3.监视文件下载进度问题我想知道文件的下载进度解决办法监听progress事件讨论我们可以通过progress事件监视文件的下载进度,在下载过程中FileReference对象会不断的发出ProgressEvent类型事件:+展开-ActionScriptfileReference.addEventListener(ProgressEvent.PROGRESS,onFileProgress);progress事件对象有两个属性,bytesLoaded和bytesTotal属性,返回当前已下载..

11.4.为特定类型的子节点过滤Transitions

评论(0)浏览(84)分类:flash/flex/fcs/AIR
11.4.为特定类型的子节点过滤Transitions11.4.1. 问题我想让transition 只影响到某些子组件11.4.2. 解决办法使用EffectTargetFilter 对象定义过滤函数来检测哪些目标将被应用Transition。11.4.3. 讨论EffectTargetFilter 对象可定义过滤器检测哪些目标被应用到transition。EffectTargetFilter 对象需要一个过滤函数,类似于一个数组,为每个传进Transition 的对象返回true 或false,传递..

9.5.运行时定制样式

评论(0)浏览(84)分类:flash/flex/fcs/AIR
9.5.运行时定制样式9.5.1.问题你想在运行时定制组件所赋予的样式属性值。9.5.2.解决办法利用setStyle 方法重置样式属性值。9.5.3.讨论setStyle 方法继承自mx.core.UIComponent 的任意子类。你可以利用setStyle 在运行时对已定义的样式对属性进行赋值。setStyle 方法的参数分别是样式名称和期望的值。+展开-ActionScriptmyContainer.setStyle("backgroundColor",0xF..

20.7.经由BrowserManager深度-链接到数据

评论(0)浏览(84)分类:flash/flex/fcs/AIR
20.7.经由BrowserManager深度-链接到数据20.7.1 问题我需要从浏览器的URL 传递数据给Flex 控件,并且根据Flex 应用程序里的数据更新浏览器URL 的值,同时执行浏览器的前进或后退导航按钮。20.7.2 解决办法使用BrowserManager 类和BrowserChangeEvents 读取并写入数据到浏览器URL。20.7.3 讨论无论是通过地址栏的输入框还是还是通过使用导航控件(前进和后退按钮)来改变浏览器URL 的值,B..

23.6.对象序列化

评论(0)浏览(84)分类:flash/flex/fcs/AIR
23.6.对象序列化23.6.1.问题我想对自定义对象进行序列化并保存到硬盘驱动器的文件中。23.6.2.解决办法通过class-alias注册自定义类,使用ActionScript Message Format (AMF) 编码序列化对象,并使用FileStream.writeObject方法把对象存储到文件上。23.6.3.讨论使用AIR文件系统API,你可以把经过AMF编码序列化过的对象写入文件流缓冲区中。ActionScript语言中大多..

25.7节. 在Flex Builder中安装Ant窗口

评论(0)浏览(84)分类:flash/flex/fcs/AIR
25.7节. 在Flex Builder中安装Ant窗口25.7.1. 问题在独立版本的Flex Builder中找不到Ant窗口。25.7.2. 解决办法安装Eclipse Java开发工具。25.7.3. 讨论要在独立版本的Flex Builder中使用Ant,你必须安装Eclipse Java开发工具。像下面这样做:在Flex Builder菜单条中选择Help-Software Updates-Find and Install.选择Search for New Features to Install然后点击Next。在对话框中选择..

26.1.在程序中添加国际化字符

评论(0)浏览(84)分类:flash/flex/fcs/AIR
26.1.在程序中添加国际化字符26.1.1. 问题我想在程序中显示字为基础的语言文本,比如中文或韩文。26.1.2. 解决办法在Flash Player中嵌入合适的字体。26.1.3. 讨论Flex应用程序能显示非西方字符,包括Unicode编码文本,比如汉字或韩文字符,支持这些字符在Flash Player里显示。和西方字体一样,开发者也可以嵌入这些字体到程序中,但是你也要知道,这样做有个后果,就是数量众..

26.9.格式化打印内容

评论(0)浏览(83)分类:flash/flex/fcs/AIR
26.9.格式化打印内容26.9.1. 问题我想按指定的格式打印内容26.9.2. 解决办法构建自定义打印渲染组件来格式化打印内容26.9.3. 讨论通常,你想要打印输出的内容并不同于在应用程序中显示出的那样。你可能希望创建一个不通过程序展现给用户的可打印应用程序对象版本或生成数据报告。打印渲染器就是为此目的而设计的,它是一个输出指定打印内容的组件。在26.8节的BasicP..

13.11.创建ArrayCollection的深度拷贝

评论(0)浏览(83)分类:flash/flex/fcs/AIR
13.11.创建ArrayCollection的深度拷贝13.11.1. 问题我需要拷贝索引数组的所有数据项或对象到新对象上。13.11.2. 解决办法使用mx.utils.ObjectUtil.copy 方法。13.11.3. 讨论为了快速演示,我们简单的拷贝对象引用到新对象上,这意味着对第一个对象的值改变都会反映到第二个对象上:+展开-ActionScriptvarobjOne:Object={name:"foo",data:{first:"1",second:"2"}};varobjTwo=objOne;o..

9.2.重写默认的应用程序样式

评论(0)浏览(83)分类:flash/flex/fcs/AIR
9.2.重写默认的应用程序样式9.2.1.问题你希望修改主Application 容器所被指派的默认样式.9.2.2.解决办法将主程序的styleName 属性设置为plain.9.2.3.讨论Application 容器是Flex 程序的根容器,并且描述了Flash 播放器的绘图区域。它含有定义其样式和外观的默认属性。例如, Application 标记含有分别设置为8 和6 像素的horizontalGap 值与verticalGap 值(子控件间的水平与..

11.8.使用States的延时实例工厂

评论(0)浏览(83)分类:flash/flex/fcs/AIR
11.8.使用States的延时实例工厂11.8.1. 问题我需要一个对象,它能为AddChild 对象实例化不同类型的对象。11.8.2. 解决办法创建工厂类,并赋值给AddChild 对象的targetFactory 属性。11.8.3. 讨论AddChild 对象的targetFactory 属性需要一个实现IDeferredInstance 接口的对象。IDeferredInstance 接口只需要一个方法:getInstance():Object. 当AddChild 对象需要一个新的可视化..

11.10.在State Changes事件中添加和删除事件监听器

评论(0)浏览(83)分类:flash/flex/fcs/AIR
11.10.在State Changes事件中添加和删除事件监听器11.10.1. 问题我想给State 中创建添加的组件注册事件监听器,当state 改变时移除监听器。11.10.2. 解决办法将事件监听器关联到组件的addedToStage 事件,在removedFromStage 事件中移除事件监听器。或者使用SetEventHandler 对象创建事件监听器。11.10.3. 讨论在ActionScript3中确保事件处理器能被正确的移除是保证应用程序不会造成消耗Flash Pl..

11.2.为进入和离开States创建Transitions

评论(0)浏览(83)分类:flash/flex/fcs/AIR
11.2.为进入和离开States创建Transitions11.2.1. 问题我想创建一个特效,当进入或退出state 时进行播放11.2.2. 解决办法使用Transitions 对象,设置其fromState 和toState 属性。11.2.3. 讨论一个transition 就是一个特效或一系列特效。Transition 对象给出了fromState 和toState 属性定义何时播放。fromState 和toState 属性及可以是特定的states 或通配符(*)。有几个方法创建Transiti..

5.13.自定义List被选中项的外观

评论(0)浏览(83)分类:flash/flex/fcs/AIR
5.13.自定义List被选中项的外观5.13.1.问题为List 组件中的选中项贴上一个图片5.13.2.解决方法覆盖ListBase 类的drawSelectionIndicator 方法并修改由该方法使用的指示器Sprite 对象。5.13.3.讨论List 控件通过drawSelectionIndicator 方法为在列表中选中的itemRenderer 创建外观。该方法的信息如下:+展开-ActionScriptoverrideprotectedfunctiondrawSelectionIndicator(indi..

7.8.为DataGrid创建一个独立的复选框项渲染器

评论(0)浏览(83)分类:flash/flex/fcs/AIR
7.8.为DataGrid创建一个独立的复选框项渲染器7.8.1.问题你要为DataGrid 创建一个含有CheckBox 的itemRenderer,无论DataGridColumn 的宽度如何,都要始终保持CheckBox 在renderer 的中央。7.8.2. 解决办法继承CheckBox 的类,并且重写updateDisplayList 方法,从而设置CheckBox 的位置,在clickHandler 中增加部分功能:根据CheckBox 的选中状态设置DataGrid 里的变量值。7.8.3. 讨论下边是一..

6.12.为GroupingCollection创建异步刷新

评论(0)浏览(83)分类:flash/flex/fcs/AIR
6.12.为GroupingCollection创建异步刷新6.12.1. 问题我想异步刷新大数据量的GroupingCollection 表格,只在调用时重绘。6.12.2. 解决办法使用GroupingCollection.refresh(async:Boolean),设置异步标志为true。6.12.3. 讨论GroupingCollection.refresh 方法接受一个标志指示分组是否需要异步或同步执行。当数据行数量非常巨大时,设置标志为true 可在显示之前刷新分组结果。这通常用来..

2.13.自定义弹出式窗口边框

评论(0)浏览(83)分类:flash/flex/fcs/AIR
2.13.自定义弹出式窗口边框2.13.1. 问题我想要自定义弹出窗口的边框来显示窗口。2.13.2. 解决办法创建一个PanleSkin 类的子类,覆盖updateDisplayList 方法来绘画调出箭头。设定这个子类为弹出窗口的borderSkin 风格。2.13.3. 讨论这个技术是基于Section 2.12CustomPopUp 组件修改的。定制你的窗口边框,这次设一个自定义类CustomPanelSkin 到borderSkin 风格。+展开 -XML..

23.1.下载文件

评论(0)浏览(83)分类:flash/flex/fcs/AIR
23.1.下载文件问题我想让用户从服务器上下载文件解决办法使用FileReference 对象的download( ) 方法讨论flash.net.FileReference 类定义了一个download( ) 方法允许用户通过URL下载文件。当Flash播放器调用download( )方法时,它试图打开一个对话框,标题为"Select location for download.",这个对话框使用标准的系统对话框让用户选择文件保存路径。在调用do..

16.12.擦洗视频

评论(0)浏览(83)分类:flash/flex/fcs/AIR
16.12.擦洗视频问题我想擦洗视频的回放(快进或倒退播放)解决办法联合使用滑竿控制器与seek( )方法讨论一般的方法是通过滑竿控制器来快进或倒退播放视频,首先要创建滑竿控制器,下面的例子代码演示滑竿控制器的编写:+展开-ActionScriptpackagecom.oreilly.as3cb.components{importflash.display.Sprite;importflash.net.NetStream;importflash.events.Event..

9.28.高级抗锯齿

评论(0)浏览(83)分类:flash/flex/fcs/AIR
9.28.高级抗锯齿问题我要控制文字的抗锯齿解决办法对于嵌入字体可通过设置文本框的antiAliasType属性为flash.text.AntiAliasType.ADVANCED,然后设置gridTypeFit 和sharpness 属性讨论默认下文本以正常抗锯齿设置显示,对于字体大小大于10,正常抗锯齿设置都能显示的很好,但是对于小于10的字体正常抗锯齿就能难表现出好效果了,这时我们可通过文本框的anti-ali..

14.4.格式化日期和时间

评论(0)浏览(83)分类:flash/flex/fcs/AIR
14.4.格式化日期和时间问题我要自定义日期和时间的显示格式解决办法使用Date.toString( ), 或者自定义方法DateFormat.format( )讨论Date.toString( )方法返回Date对象的字符串类型数值,比如:+展开-ActionScript//显示:TueJan514:25:20GMT-08002010trace((newDate()).toString());如果忽略toString()方法,ActionScript 也会自动调用toString( )方法,结果是一样的..

14.0.简介

评论(0)浏览(83)分类:flash/flex/fcs/AIR
14.0.简介日期和时间对于很多ActionScript程序来说是很重要的,比如用于一些和时间相关的定时操作,或者检测用户的登陆是否过期等。在ActionScript内部是以毫秒的形式存储日期和时间的,但是很多编程语言的日期和时间是以秒为单位的,这点需要注意。另外,Date 类用于设置或获取日期和时间,或者直接通过其属性fullYear, month 等,这些属性的值也是以毫秒..

13.9.标志和属性

评论(0)浏览(83)分类:flash/flex/fcs/AIR
13.9.标志和属性下表列出了可以为正则表达式设置的五种标志。每种标志都可以作为正则表达式对象属性进行访问。 标志属性描述gglobal匹配多个匹配。iignoreCase不区分大小写的匹配。应用于 A-Z 和 a-z 字符,但不能应用于扩展字符,如 é 和 é。mmultiline设置此标志后,$ 和 ^ 可以分别匹配行的开头和结尾。 sdotall设置此标志后,.(点)可以匹配换行符 (\n)。x..

15.2.开始和停止播放声音

评论(0)浏览(83)分类:flash/flex/fcs/AIR
15.2.开始和停止播放声音问题如何开始播放或停止播放声音。解决办法使用play( )方法播放声音,使用close( )方法停止播放。讨论播放声音很简单,只要调用Sound对象的play( )方法即可,如:+展开-ActionScript_sound=newSound(newURLRequest("song.mp3"));_sound.play();很简单吧,另外play( )方法有一些可选的参数,具体请看第15.1章和15.10章.。close( )方法即不是停止正..

第十五章.声音编程

评论(0)浏览(82)分类:flash/flex/fcs/AIR
第十五章.声音编程15.0.简介15.1.创建Sound对象及载入声音15.2.开始和停止播放声音15.3.给声音数据设置缓冲15.4.声音的起始播放位置15.5.循环播放15.6.获得声音文件的大小15.7.读取声音文件的ID3标签数据15.8.判定音乐是否播放完毕15.9.跟踪音乐播放进度15.10.暂停和重新播放声音15.11.获得声音的音量15.12.停止播放所有的音乐15.13.读取音乐的声谱15.14.改变声音..