第十四章 过滤显示对象
1 过滤显示对象的基础知识
九种滤镜,只能应用于位图,在flash.filters包中
2 创建和应用滤镜
创建了滤镜对象的实例后,通过使用该对象的 filters 属性可以很容易地将此实例应用于显示对象;如果是 BitmapData 对象,可以使用 applyFilter() 方法。
3 应用滤镜的方式取决于您应用该滤镜的对象。
对显示对象应用滤镜
对显示对象应用滤镜效果时,可以通过 filters 属性应用这些效果。显示对象的 filters 属性是一个 Array 实例,其中的元素是应用于该显示对象的滤镜对象。若要对显示对象应用单个滤镜,请创建该滤镜实例,将其添加到 Array 实例,再将该 Array 对象分配给显示对象的 filters 属性:例子参见手册
如果要实现多种滤镜,只需把多个滤镜实例作为参数传递给ARRAY。
删除显示对象中的滤镜 myDisplayObject.filters = null;
对 BitmapData 对象应用滤镜
具体的应用参考手册
4 滤镜工作的原理
每个显示对象通常包含两个位图:一个包含原始未过滤的源显示对象,另一个用于过滤后的最终图像。呈现时使用最终图像。只要显示对象不发生更改,最终图像就不需要更新。
5 使用滤镜存在的问题
滤镜和位图缓存
在运行时更改滤镜:使用事件触发机制和array副本的机制
滤镜和对象变形:由于点击(onclick)是不能应用于位图图像,所以使用位图要想达到事件触发机制是不可能的,另外滤镜不支持缩放,旋转和倾斜。
滤镜和位图图像
6 可用的显示滤镜
实例参见手册
置换图滤镜
此滤镜可用于产生移位、扭曲、放大镜或斑点效果。
第十五章处理影片剪辑
它除具有显示对象的所有行为和功能外,还具有用于控制影片剪辑的时间轴的其它属性和方法。
影片剪辑的基础知识
1 影片剪辑处理简介
影片剪辑默认情况下,此元件会成为 MovieClip 类的一个实例,因此具有 MovieClip 类的属性和方法。
2 常见的影片剪辑任务
处理 MovieClip 对象
控制影片剪辑回放
ActionScript 不能用于动态创建时间轴或在特定帧添加内容
1 播放影片剪辑和停止回放
play() 和 stop()
2 快进和后退
nextFrame() 和 prevFrame() ,例子的含义是在第一帧的时候把播放头放在最后一帧,然后没执行一帧播放头就会向回移动一帧,这样当影片执行到最后一帧的时候,播放头正好回到第一帧的位置,这样就可以实现循环播放的目的
3 跳到不同帧和使用帧标签
gotoAndPlay() 或 gotoAndStop() ,FrameLabel 类-》name和frame属性 MovieClip 类-》currentLabels和currentLabel属性,可直接返回FrameLabel对象 robot.currentLabel.name == 'walking'
4 处理场景
过多的场景影响性能
使用 ActionScript 创建 MovieClip 对象
1 为 ActionScript 导出库元件 参见手册实例
2 加载外部 SWF 文件
第十六章 处理文本
16.1 处理文本的基础知识
1 显示文本使用textField类的实例,是组件(TextArea组件和TextInput组件)的基础。
2 控制本文的格式使用flash.text包中的类(TextFormatA和StyleSheet类)
3 使用 TextFormat 对象定义格式设置并将此对象分配给文本字段,以此来设置文本格式。StyleSheet对象用来设置
html文本
16.2 文本的类型
动态文本,输入文本,静态文本
16.3 修改文本字段的内容
使用TextField.text的属性来添加文本的内容,例子见手册
16.4 显示html文本
使用TextField.htmlText的属性添加具有html标签的文本
16.5 文本字段的滚动
使用TextField.scrollV,TextField.scrollH,TextField.maxScrollV,TextField.maxScrollH属性控制
16.6 选择和操作文本
1 选择文本 TextField.setSelection(46,59);参数为字符串的字符数
2 扑获鼠标的选择字符串的位置 TextField.selectionBeginIndex和TextField.selectionEndIndex
3 捕获文本输入
4 限制文本输入
在输入密码的时候用TextField.displayAsPassword为true
在限制输入的文本时使用 myTextBox.restrict = "A-Z"; 例子
16.7 设置文本格式
1 指定文本格式
使用的是TextFormat类
2 应用层叠样式表
使用的是StyleSheet类,创建一个对象容纳一组属性样式
3 加载外部cSS文件
使用StyleSheet.pares.CSS()方法可将包含CSS数据的字符串转换为StyleSheet对象中的样式声明
4 设置文本字段内文本范围的格式
5 处理静态文本
使用StaticText类和TextSnapshot类
第十七章 处理位图
17.1 处理位图的基本知识
主要是一些基本的概念,比如位图和矢量图的概念
17.2 Bitmap和BitmapData类
1 了解Bitmap类
其是ObjectDisplay类的子类,所以显示对象的属性对于bitmap类都是同样有效的
2 像素贴紧和平滑
pixelSnapping和smoothing,图像缩放时减少模糊和扭曲
3 了解BitmapData类
格式:var myBitmap:BitmapData = new BitmapData(150, 150, true, 0x80FF3300);
可以分配给Bitmap实例的bimapdata属性或作为Bitmap对象的构造函数的参数 var myImage:Bitmap = new Bitmap(myBitmapDataObject);
12.3 处理像素
1 处理单个像素
使用getPixels()和setPixels()将一组像素从一个BitmapData对象复制到另一个对象
2 像素级别冲突检测
12.4 复制位图数据
使用clone(),copyPiexls(),copyChannel(),draw()
12.5 使用杂点功能制作纹理
noise perlinNoise
12.6 实例解释
StageScaleMode.NO_SCALE;
指定 Flash 应用程序的大小是固定的,因此,即使在更改播放器窗口大小时,它仍然保持不变。