GitHub Desktop Version 2.3.1 (x64) for macOS
GitHub Desktop Version 2.3.1 (x64) for macOS
GitHubDesktop-x64.zip
GitHub Desktop Version 2.9.6 (x64) for macOS
Cracking The Coding Interview 5th
150 Programming Questions and Solutions
java反射机制-侯捷大师之手
pdf格式,字面清晰,条例清楚,是了解和学习java反射技术的好资料。
JSF中文入门-CHM版本
条理清晰,简单易懂;内容全面,只需要有简单的java基础就可以跟随书本,做实例开发,是JSF开发入门者的好书。
HTTP协议中文清晰完整版
全面解析http协议,让开发者对http协议有一个全面清晰的认识;此书可以做为工具书翻阅,放在枕边,常翻常新。
WebWork-2.1.7 中文开发文档
1. 综述
什么是WebWork
许可(License)
开始WebWork之旅
常见问题解答
经验谈(cookbook)
部署WebWork注意事项
WebWork团体
邮件列表
Bug跟踪和wiki
关于WebWork的文章和出版物
使用WebWork的项目
与Struts的比较
WebFlow - WebWork曲线图工具
应用服务器 - 针对不同应用服务器的提示与窍门
2. WebWork版本
当前版本 - WebWork 2.1.7
旧版本 - 旧版本WebWork的信息
依赖类库
3. 指南
第一课: 下载并安装WebWork
第二课: 设置Web应用
第三课: 活动和结果
第四课: 视图 (JSP, Velocity, Freemarker)
第五课: 截取器(Interceptors)
4. 参考指南
配置
截取器
活动链
反转控制(IoC)
JSP标签
JSP Expression Language Comparison with WebWork 1.x
WebWork对Freemarker的支持
结果类型
类型转换
校验
OGNL
国际化
5. 与第三方集成
SiteMesh
Spring
Pico
Hibernate
JUnit
Quartz
青牛呼叫中心系统开发文档
目 录
1 前言 1
2 USE概述 2
2.1服务部件 4
2.2统计数据库说明 5
2.3开发接口 5
2.4实用工具 6
3 USE开发指南 8
3.1 坐席软电话开发说明 8
3.1.1 API层开发 10
long USE_ConnectToAgent 12
long USE_DisconnectAgent 13
long USE_Login 14
long USE_LoginEx 16
long USE_Logout 17
long USE_ SetAgentStatus 18
long USE_GetAgentEvent 19
long USE_ForceLogout 23
long USE_SendMsgToAgent 24
long USE_BroadMsgToAll 25
long USE_BroadMsgToAgentGroup 26
long USE_GetAgentStatus 27
long USE_GetAgentDNByID 29
long USE_GetAgentIDByDN 30
long USE_ConnectTelBaseServer 31
long USE_DisconnectFromTelBaseServer 32
long USE_GetAssociateData 33
long USE_SetAssociateData 35
long USE_AnswerCall 37
long USE_DisconnectCall 38
long USE_HoldCall 39
long USE_RetrieveHeld 40
long USE_ConsultCall 41
long USE_ConferenceCall 43
long USE_TransferCall 44
long USE_ReconnectHeld 45
long USE_MakeCall 46
long USE_SingleStepTransfer 47
long USE_SingleStepConference 48
long USE_GetDeviceState 49
long USE_ConnectToRouter 51
long USE_DisconnectFromRouter 52
long USE_GetSrvRoutePoint 53
long USE_SetService 54
long USE_GetServiceData 56
long USE_ReqVirtualRoute 58
long USE_GetRouteTarget 59
long USE_RegOutboundSrv 61
long USE_GetAllSrvRes 62
long USE_WithdrawPreLock 63
long USE_WithdrawVirtualRoute 64
long USE_GetResourceCount 65
long USE_GetResourceDetail 66
long USE_SetServiceEx 68
long USE_GetSrvDescByContact 69
int TV_Installed 71
int TV_Initialize 71
Void TV_Disable 72
Void TV_HangUpCtrl 72
Void TV_OffHookCtrl 73
int TV_StartDial 73
Void TV_FlushDTMF 74
int TV_GetDTMFChar 75
Void TV_ConnectChannels 75
Void TV_DisconnectChannels 76
Void TV_ConnectTo 76
long TV_StartRecordFile 77
long TV_StartPlayFile 77
long TV_PlayFileRest 78
long TV_StopPlayFile 78
3.1.2 USE_AgentBar OCX层开发 79
3.1.2.1 USE_AgentBar控件说明 79
3.1.2.2 USE_AgentBar控件属性 82
3.1.2.3 USE_AgentBar方法 85
3.1.2.4 USE_AgentBar事件 124
3.2 USE_Monitor OCX开发 133
3.2.1 USE_Monitor控件概述 133
3.2.2 USE_Monitor方法说明 133
long Init( ) 133
long Stop( ) 134
long GetFirstService( ) 135
long GetNextService( ) 137
bool IsLastService ( ) 138
long GetServiceStatistic( ) 139
long GetAllServiceStatistic( ) 142
long GetAgentStatusByID( ) 144
long GetFirstAgentByService( ) 145
long GetNextAgentByService( ) 147
bool IsLastAgent ( ) 148
long GetDeviceStatusByID( ) 149
long GetFirstDeviceByService( ) 150
long GetNextDeviceByService( ) 151
bool IsLastDevice( ) 152
long GetFirstTrunkGroup( ) 153
long GetNextTrunkGroup( ) 154
bool IsLastTrunkGroup( ) 155
bool IsAgentResource( ) 156
long GetTrunkGroupStatistic( ) 157
long GetaAllTrunkGroupStatistic() 158
long BroadcastMsgToServiceGroup() 159
long BroadcastToAll() 160
long SendMsgToAgent() 161
long ForceLogout( ) 162
3.3 IVR接口开发 163
3.3.1 接口数据类型 163
3.3.2 接口函数定义 164
USE_Result USE_SetAssociateData() 164
USE_Result USE_GetAssociateData() 166
USE_Result USE_MakeService() 168
USE_Result USE_RequestService() 169
USE_Result USE_ReqOutboundSrv() 171
USE_Result USE_ReqPreLockSrv() 172
USE_Result USE_WithdrawPreLock() 173
USE_Result USE_GetServiceInfo() 174
3.3.3 COM组件发布 176
COMUSE_MakeServiceVoiceMail 176
3.4 统计报表开发 177
3.4.1 概述 177
3.4.2 基础数据表 177
3.4.2.1 坐席登录日志表 (Tbl_Agent_Log) 177
3.4.2.2 坐席工作状态明细表(Tbl_Agent_Status) 179
3.4.2.3 资源服务信息表(Tbl_Res_Working) 180
3.4.2.4 资源协作服务信息表(Tbl_Res_Coorporation) 182
3.4.2.5 服务单元详细信息表(Tbl_SrvUnit) 183
3.4.2.6 呼叫基础信息表(Tbl_Contact_Base) 184
3.4.3 服务明细数据视图 187
3.4.3.1 服务单元明细视图(View_SrvUnit_Detail) 187
3.4.3.2 资源受理服务明细视图(View_Res_Working) 189
3.4.3.3 资源协作服务明细视图(View_Res_Coorporation) 191
3.4.3.4 坐席工作状态明细视图(View_Agent_Status) 192
3.4.3.5 中继组状态明细视图(View_TrunkGroup_Status) 193
3.4.3.6 系统呼叫明细视图(View_Contact_Data) 194
3.4.4 统计数据表和视图 195
3.4.4.1 服务统计表(未定义) 195
3.4.4.2 呼叫流量表(时、日、月) 195
3.4.4.3 服务单元统计表(时、日、月) 196
3.4.4.4 坐席受理服务统计表(时、日、月) 198
3.4.4.5 设备资源服务统计表(时、日、月) 200
3.4.4.6 坐席工作统计表(时、日、月) 202
3.4.4.7 坐席工作日志表 203
附录: 204
附录A:统计开发特殊域说明 204
附录B:统计开发特殊概念的说明 206
附录C:常用错误代码对照表 207
附录D:坐席状态迁移图 211
附录F:转移方法与状态关系表 212
常用数据库jdbc连接写法大全
常用数据库jdbc连接写法大全
ReadyGo!技术成就梦想 www.efish.cn efish 2007-10-5 1:45:32
1. mysql(http://www.mysql.com)mm.mysql-2.0.2-bin.jar
class.forname( "org.gjt.mm.mysql.driver" );
cn = drivermanager.getconnection( "jdbc:mysql://mydbcomputernameorip:3306/mydatabasename", susr, spwd );
2. postgresql(http://www.de.postgresql.org)pgjdbc2.jar
class.forname( "org.postgresql.driver" );
cn = drivermanager.getconnection( "jdbc:postgresql://mydbcomputernameorip/mydatabasename", susr, spwd );
......
......
oracle里的常用命令
第一章:日志管理
第二章:表空间管理
第三章:表
第四章:索引
第五章:约束
第六章:LOAD数据
第七章:reorganizing data
第八章: managing password security and resources
第九章:Managing users
第十章:managing privileges
第十一章: manager role
第十二章: BACKUP and RECOVERY
索罗斯——走在股市曲线前面的人
索罗斯——走在股市曲线前面的人
索罗斯——走在股市曲线前面的人
索罗斯——走在股市曲线前面的人
《深入浅出Ext JS》样章
目 录
第1 章 EXT 概述.........................................................1
1.1 下载EXT发布包........................................... 1
1.2 如何查看EXT自带的API和示例................. 1
1.3 为什么有些示例必须放在服务器上
才能看到效果.............................................. 2
1.4 Hello World .................................................. 2
1.4.1 直接使用下载的发布包.................. 2
1.4.2 在项目中使用EXT........................... 3
1.5 为什么页面提示“找不到图片”............... 3
1.6 辅助开发...................................................... 4
1.6.1 调试工具Firebug.............................. 4
1.6.2 开发利器Spket ................................. 7
1.7 本章小结.................................................... 10
第2 章 EXT 框架基础..............................................11
2.1 EXT的事件和类......................................... 11
2.1.1 自定义事件.................................... 11
2.1.2 浏览器事件.................................... 13
2.1.3 Ext.lib.Event .......................... 13
2.1.4 Ext.util.Observable ......................... 14
2.1.5 Ext.EventManager ................... 17
2.1.6 Ext.EventObject...................... 19
2.2 EXT的核心组件......................................... 20
2.2.1 Ext.Component .......................... 20
2.2.2 Ext.BoxComponent ................... 22
2.2.3 Ext.Container .......................... 23
2.2.4 Ext.Panel ................................... 24
2.2.5 Ext.TabPanel............................. 24
2.3 本章小结.................................................... 27
第3 章 表格控件........................................................28
3.1 Grid的特性简介......................................... 28
3.2 制作一个简单的Grid ................................. 29
3.3 Grid常用功能详解..................................... 32
3.3.1 部分属性功能................................ 32
3.3.2 自主决定每列的宽度.................... 33
3.3.3 让Grid支持按列排序..................... 35
3.3.4 解决中文排序................................ 35
3.3.5 显示日期类型数据........................ 37
3.4 在单元格里显示红色的字、图片和按钮.....38
3.5 给Grid的行和列设置颜色......................... 41
3.6 自动显示行号和复选框............................. 42
3.6.1 自动显示行号................................ 43
3.6.2 复选框............................................ 44
3.7 选择模型.................................................... 45
3.8 表格视图——Ext.grid.GridView...... 46
3.9 表格分页.................................................... 47
3.9.1 为Grid添加分页工具条................. 48
3.9.2 通过后台脚本获得分页数据......... 49
3.9.3 分页工具栏显示在Grid的顶部..... 51
3.9.4 让EXT支持前台排序..................... 52
3.10 后台排序.................................................. 53
3.11 可编辑表格控件——EditorGrid ............. 55
3.11.1 制作一个简单的EditorGrid ......... 55
3.11.2 添加一行数据.............................. 56
3.11.3 保存修改结果.............................. 58
3.11.4 验证EditGrid中的数据................ 59
3.11.5 限制输入数据的类型.................. 60
3.12 属性表格控件——PropertyGrid.............. 63
3.12.1 PropertyGrid ................................. 64
3.12.2 只能看不能动的PropertyGrid ..... 65
3.12.3 强制对name列排序..................... 65
3.12.4 根据name获得value.................. 66
3.12.5 自定义编辑器.............................. 66
3.13 分组表格控件——group ......................... 66
3.13.1 分组表格简介.............................. 67
3.13.2 分组表格视图
Ext.grid.GroupingView...... 68
3.14 可拖放的表格.......................................... 69
2 目 录
3.14.1 拖放改变表格的大小...................69
3.14.2 在同一个表格里拖放...................70
3.14.3 表格之间的拖放...........................72
3.14.4 表格与树之间的拖放...................73
3.15 Grid与右键菜单........................................73
3.16 本章小结...................................................74
第4 章 表单与输入控件..........................................76
4.1 制作一个表单.............................................76
4.2 FormPanel和BasicForm详解................77
4.3 EXT支持的控件.........................................77
4.3.1 控件继承图.....................................77
4.3.2 表单控件.........................................78
4.3.3 基本输入控件
Ext.form.Field ........................78
4.3.4 文本输入控件
Ext.form.TextField ...............79
4.3.5 多行文本输入控件
Ext.form.TextArea..................80
4.3.6 日期输入控件
Ext.form.DateField ...............80
4.3.7 时间输入控件
Ext.form.TimeField ...............81
4.3.8 在线编辑器
Ext.form.HtmlEditor.............81
4.3.9 隐藏域Ext.form.Hidden ..........82
4.3.10 下拉输入框
Ext.form.TriggerField......82
4.4 使用表单提交数据.....................................83
4.4.1 EXT默认的提交形式.....................83
4.4.2 使用HTML原始的提交形式..........85
4.4.3 单纯Ajax.........................................85
4.5 数据校验.....................................................86
4.5.1 输入不能为空.................................86
4.5.2 最大长度和最小长度.....................87
4.5.3 借助vtype.....................................88
4.5.4 自定义校验规则.............................88
4.5.5 算不上校验的NumberField........88
4.5.6 使用后台返回的校验信息.............89
4.6 表单布局.....................................................90
4.6.1 默认的平铺布局.............................90
4.6.2 平行分列布局.................................91
4.6.3 在布局中使用fieldset ..............93
4.6.4 在fieldset中使用布局..............95
4.6.5 自定义布局:在表单中加入图片......96
4.7 ComboBox、datefield和timefield详解.......97
4.7.1 ComboBox简介..............................98
4.7.2 将Select转换成ComboBox.............99
4.7.3 ComboBox结构详解......................99
4.7.4 使用远程数据...............................101
4.7.5 ComboBox的高级配置................102
4.7.6 监听用户选择了哪条数据...........104
4.7.7 使用本地数据实现省、市、县
级联..............................................104
4.7.8 使用后台数据实现省、市、县
级联..............................................107
4.8 复选框和单选框.......................................110
4.8.1 复选框...........................................110
4.8.2 单选框Radio .................................111
4.9 文件上传...................................................112
4.10 自动把数据填充到表单中.....................113
4.11 本章小结.................................................114
第5 章 树形结构......................................................116
5.1 TreePanel的基本使用..........................116
5.1.1 创建一棵树...................................116
5.1.2 为树生枝展叶...............................117
5.1.3 tree的配置.................................118
5.1.4 使用TreeLoader获得数据........119
5.1.5 读取本地JSON数据.....................121
5.1.6 Struts 2的JsonPlugin.....................121
5.1.7 使用JSP提供后台数据.................122
5.2 树的事件...................................................125
5.3 右键菜单...................................................126
5.4 修改节点的默认图标...............................127
5.5 从节点弹出对话框...................................128
5.6 节点提示信息...........................................129
5.7 为节点设置超链接...................................129
5.8 直接修改树节点名称...............................130
5.9 树形的拖放...............................................131
5.9.1 节点拖放的三种形式...................131
5.9.2 叶子不能append.........................131
目 录 3
5.9.3 判断拖放的目标.......................... 132
5.9.4 树之间的拖放.............................. 134
5.10 树形过滤器TreeFilter...................... 135
5.11 利用TreeSorter对树进行排序.......... 137
5.12 树形节点视图——
Ext.tree.TreeNodeUI .................... 138
5.13 表格与树形的结合——
Ext.tree.ColumnTree .................... 139
5.14 本章小结................................................ 142
第6 章 拖放................................................................143
6.1 拖放简介.................................................. 143
6.2 拖放的简单应用...................................... 143
6.3 拖放组件体系.......................................... 144
6.4 拖放的事件.............................................. 146
6.5 高级拖放.................................................. 148
6.5.1 Basic........................................... 148
6.5.2 Handle ........................................ 149
6.5.3 On Top ........................................ 150
6.5.4 Proxy........................................... 151
6.5.5 Group........................................... 152
6.5.6 Grid............................................. 154
6.5.7 Circle ........................................ 155
6.5.8 Region ........................................ 157
6.6 本章小结.................................................. 158
第7 章 弹出窗口......................................................159
7.1 Ext.MessageBox.................................. 159
7.1.1 Ext.MessageBox.alert().... 159
7.1.2 Ext.MessageBox.
confirm() ................................ 160
7.1.3 Ext.MessageBox.prompt()... 160
7.2 对话框的更多配置................................... 161
7.2.1 可以输入多行的输入框.............. 161
7.2.2 自定义对话框的按钮.................. 162
7.2.3 进度条.......................................... 162
7.2.4 动画效果...................................... 164
7.3 Ext.window的常用属性........................ 164
7.3.1 创建一个窗口.............................. 164
7.3.2 窗口的最大化和最小化.............. 165
7.3.3 窗口的隐藏与销毁...................... 167
7.3.4 防止窗口超出浏览器.................. 167
7.3.5 设置窗口中的按钮...................... 169
7.3.6 窗口的其他配置选项.................. 170
7.4 窗口分组.................................................. 171
7.5 向窗口中放入各种控件........................... 172
7.5.1 在窗口中加入表格...................... 172
7.5.2 在窗口中加入表单...................... 173
7.5.3 复杂布局...................................... 174
7.6 本章小结.................................................. 176
第8 章 布局............................................................... 177
8.1 布局的用途.............................................. 177
8.2 最简单的布局FitLayout........................... 179
8.3 常用的边框布局BorderLayout ................ 182
8.3.1 设置子区域的大小...................... 184
8.3.2 使用split并限制它的范围............ 185
8.3.3 子区域的展开和折叠.................. 187
8.4 制作伸缩菜单的布局——Accordion...... 191
8.5 实现操作向导的布局——CardLayout.... 192
8.6 控制位置和大小的布局——
AnchorLayout和AbsoluteLayout ............. 194
8.7 表单专用的布局FormLayout................... 199
8.8 分列式的布局ColumnLayout .................. 200
8.9 表格状的布局TableLayout ...................... 202
8.10 与布局相关的其他知识......................... 204
8.10.1 超类Ext.Conainter的公共
配置与xtype的概念................. 204
8.10.2 layout的超类Ext.layout.
ContainerLayout................. 205
8.10.3 不指定任何布局时会
发生的情况................................ 206
8.10.4 使用Viewport对整个页面
进行布局................................... 206
8.10.5 使用嵌套实现复杂布局............ 207
8.11 本章小结................................................ 210
第9 章 工具栏和菜单.............................................211
9.1 简单菜单.................................................. 211
9.2 向菜单中添加分隔线............................... 212
9.3 多级菜单.................................................. 213
9.4 高级菜单.................................................. 214
9.4.1 多选菜单和单选菜单.................. 214
9.4.2 日期菜单...................................... 216
4 目 录
9.4.3 颜色菜单.......................................216
9.4.4 Ext.menu.Adapter菜单
适配器..........................................217
9.4.5 使用Ext.menu.MenuMgr统一
管理菜单......................................220
9.5 工具栏组件详解.......................................220
9.5.1 Ext.Toolbar.Button .............221
9.5.2 Ext.Toolbar.TextMenu.........221
9.5.3 Ext.Toolbar.Spacer .............222
9.5.4 Ext.Toolbar.Separator.......222
9.5.5 Ext.Toolbar.Fill..................223
9.5.6 Ext.Toolbar.SplitButton...223
9.5.7 为工具条添加HTML标签............224
9.5.8 为工具条添加输入控件...............225
9.6 分页工具条Ext.PagingToolbar.................225
9.6.1 Ext.PagingToolbar的基本用法.....225
9.6.2 向Ext.PagingToolbar添加
按钮组件......................................226
9.7 右键弹出菜单...........................................227
9.8 本章小结...................................................229
第10 章 数据存储与传输.....................................230
10.1 Ext.data简介............................................230
10.2 Ext.data.Connection....................230
10.3 Ext.data.Record .............................232
10.4 Ext.data.Store ...............................233
10.4.1 基本应用...................................233
10.4.2 对数据进行排序.......................234
10.4.3 从store中获取数据...............234
10.4.4 更新store中的数据...............236
10.4.5 加载及显示数据.......................237
10.4.6 其他功能...................................238
10.5 常用proxy.............................................239
10.5.1 MemoryProxy.........................239
10.5.2 HttpProxy..............................240
10.5.3 ScriptTagProxy..................240
10.6 常用Reader...........................................241
10.6.1 ArrayReader.........................241
10.6.2 JsonReader ...........................242
10.6.3 XmlReader..............................243
10.7 高级store.............................................245
10.8 EXT中的Ajax .........................................246
10.8.1 最容易看到的Ext.Ajax ........246
10.8.2 Ext.lib.Ajax是更底层的封装....247
10.9 关于scope和createDelegate() ....247
10.10 DWR与EXT整合..................................249
10.10.1 在EXT中直接使用DWR......249
10.10.2 DWRProxy............................250
10.10.3 DWRTreeLoader................252
10.10.4 DWRProxy和ComboBox......253
10.11 localXHR支持本地使用Ajax ...............254
10.12 本章小结...............................................255
第11 章 实用工具................................................... 256
11.1 EXT提供的常用函数.............................256
11.1.1 onReady函数..........................256
11.1.2 get函数....................................257
11.1.3 query函数和select函数.....260
11.1.4 encode函数和decode函数...263
11.1.5 extend函数.............................265
11.1.6 apply和applyIf函数..........266
11.1.7 namespace函数.....................266
11.1.8 Ext.isEmpty函数.................267
11.1.9 Ext.each函数........................268
11.1.10 Ext.DomQuery ....................269
11.2 用DomHelper和Template动态
生成HTML.............................................272
11.2.1 用DomHelper生成小片段..272
11.2.2 Ext.DomHelper.
applyStyles函数.............275
11.2.3 Template模板....................276
11.2.4 Ext.DomHelper.
createTemplate函数......278
11.2.5 复杂模板XTemplate..........279
11.3 用Ext.Utils.CSS切换主题..............281
11.4 悬停提示.................................................282
11.4.1 初始化.......................................282
11.4.2 注册提示...................................283
11.4.3 标签提示...................................283
11.4.4 全局配置...................................283
11.4.5 个体配置...................................284
11.5 使用Ext.state保存状态....................285
目 录 5
11.6 fx实现的动画效果................................ 288
11.7 局部更新网页内容................................. 288
11.8 Ext.util.Format............................. 290
11.9 使用Ext.util.CSS管理CSS样式..... 290
11.10 使用Ext.util.ClickRepeater
处理点击事件...................................... 291
11.11 使用Ext.util.DelayedTask
延时执行函数...................................... 293
11.12 使用Ext.util.TaskRunner
执行循环任务...................................... 294
11.13 混合型集合Ext.util.
MixedCollection .......................... 295
11.14 使用Ext.util.TextMetrices
获得文本所占的高度和宽度................. 299
11.15 Ext.KeyNav处理导航按键............... 300
11.16 Ext.KeyMap为对象绑定按键功能.... 302
11.17 扩展...................................................... 304
11.17.1 扩展Date ............................... 304
11.17.2 扩展String......................... 306
11.17.3 扩展Function.................... 306
11.17.4 扩展Number......................... 308
11.17.5 扩展Array........................... 308
11.18 Ext.ux.Portal ............................... 309
11.19 Ext.Desktop .................................... 312
11.20 本章小结.............................................. 316
第12 章 一个完整的EXT 应用......................... 317
12.1 确定整体布局........................................ 317
12.2 使用HTML和CSS设置静态信息.......... 319
12.3 对学生信息进行数据建模..................... 320
12.4 在页面中显示学生信息列表................. 324
12.5 添加表单编辑学生信息......................... 329
12.6 为表单添加提交事件............................. 332
12.7 清空表单信息........................................ 335
12.8 删除指定的学生信息............................. 336
12.9 在Grid和Form之间进行数据交互......... 337
12.10 本章小结.............................................. 338
第13 章 通过Ext Framework 合理地
应用EXT.................................................. 339
13.1 Ext Framework简介................................ 339
13.2 Ext Framework架构解析........................ 342
13.2.1 主要的第三方包...................... 342
13.2.2 后台类关系图.......................... 342
13.2.3 前台组件关系图...................... 344
13.3 本章小结................................................ 347
附录A EXT 常见问题............................................ 348
附录B EXT 对AIR 的支持.................................. 355
附录C EXT 的版本变迁....................................... 364
ActionScript 3.0 编程
目录
第 1 章: 关于本手册
使用本手册 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
访问 ActionScript 文档. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
ActionScript 学习资源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
第 2 章: ActionScript 3.0 简介
关于 ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
ActionScript 3.0 的优点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
ActionScript 3.0 中的新增功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
与早期版本的兼容性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
第 3 章: ActionScript 快速入门
编程基础. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
处理对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
常用编程元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
示例:动画公文包片段. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
使用 ActionScript 构建应用程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
创建自己的类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
示例:创建基本应用程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
运行后续示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
第 4 章: ActionScript 语言及其语法
语言概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
对象和类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
包和命名空间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
变量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
数据类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
语法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
运算符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
条件语句. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
循环. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
第 5 章: ActionScript 中面向对象的编程
面向对象的编程基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
接口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
继承. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
高级主题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
示例:GeometricShapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
FLASH ACTIONSCRIPT 3.0 编程iv
目录
第 6 章: 处理日期和时间
日期和时间基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
管理日历日期和时间. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
控制时间间隔 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
示例:简单的模拟时钟. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
第 7 章: 处理字符串
字符串基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
创建字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
length 属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
处理字符串中的字符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
比较字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
获取其它对象的字符串表示形式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
连接字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
在字符串中查找子字符串和模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
在大小写之间转换字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
示例:ASCII 字符图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
第 8 章: 处理数组
数组基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
索引数组. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
关联数组. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
多维数组. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
克隆数组. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
高级主题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
示例:PlayList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
第 9 章: 处理错误
错误处理基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
错误类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
ActionScript 3.0 中的错误处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
使用 Flash Player 和 AIR 的调试版 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
在应用程序中处理同步错误 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
创建自定义错误类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
响应错误事件和状态. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
比较错误类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
示例:CustomErrors 应用程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
第 10 章: 使用正则表达式
正则表达式基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
正则表达式语法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
对字符串使用正则表达式的方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
示例:Wiki 分析器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
FLASH ACTIONSCRIPT 3.0 编程v
目录
第 11 章: 处理 XML
XML 基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
用于处理 XML 的 E4X 方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
XML 对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
XMLList 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
初始化 XML 变量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
组合和变换 XML 对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
遍历 XML 结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
使用 XML 命名空间. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
XML 类型转换. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
读取外部 XML 文档. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
示例:从 Internet 加载 RSS 数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
第 12 章: 处理事件
事件处理基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
ActionScript 3.0 事件处理与早期版本事件处理的不同之处. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
事件流. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
事件对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
事件侦听器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
示例:Alarm Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
第 13 章: 显示编程
显示编程的基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
核心显示类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
显示列表方法的优点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
处理显示对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
处理显示对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
对象动画. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
动态加载显示内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
示例:SpriteArranger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
第 14 章: 使用绘图 API
绘图 API 使用基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
了解 Graphics 类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
绘制直线和曲线 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
使用内置方法绘制形状. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
创建渐变线条和填充. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
将 Math 类与绘制方法配合使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
使用绘图 API 进行动画处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
示例:Algorithmic Visual Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
绘图 API 高级用法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
绘制路径. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
定义缠绕规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
FLASH ACTIONSCRIPT 3.0 编程vi
目录
使用图形数据类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
关于使用 drawTriangles() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
第 15 章: 处理几何结构
几何学基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
使用 Point 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
使用 Rectangle 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
使用 Matrix 对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
例如:将矩阵转换用于显示对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
第 16 章: 过滤显示对象
过滤显示对象的基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
创建和应用滤镜 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
可用的显示滤镜 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
示例:Filter Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
第 17 章: 使用 Pixel Bender 着色器
Pixel Bender 着色器基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
加载或嵌入着色器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
访问着色器元数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
指定着色器输入和参数值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
使用着色器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
第 18 章: 处理影片剪辑
影片剪辑基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
处理 MovieClip 对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
控制影片剪辑回放. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
使用 ActionScript 创建 MovieClip 对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
加载外部 SWF 文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
示例:RuntimeAssetsExplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
第 19 章: 使用补间动画
补间动画基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
复制补间动画脚本. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
合并补间动画脚本. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
描述动画. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
添加滤镜. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
将补间动画与其显示对象关联. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
第 20 章: 使用反向运动
反向运动的基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
IK 骨架动画处理概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
获取有关 IK 骨架的信息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
实例化 IKMover 并限制其移动. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
FLASH ACTIONSCRIPT 3.0 编程vii
目录
移动 IK 骨架. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
使用 IK 事件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
第 21 章: 处理文本
处理文本的基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
使用 TextField 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
使用 Flash 文本引擎. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
第 22 章: 处理位图
处理位图的基本知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Bitmap 和 BitmapData 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
处理像素. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
复制位图数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
使用杂点功能制作纹理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
滚动位图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
利用 mipmap 处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
示例:旋转的月球动画. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
第 23 章: 在三维 (3D) 环境中工作
3D 基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
了解 Flash Player 和 AIR 运行时的 3D 功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
创建和移动 3D 对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
将 3D 对象投影到 2D 视图上 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
示例:透视投影 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
执行复杂的 3D 转换. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
通过三角形获得 3D 效果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
第 24 章: 处理视频
视频基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
了解视频格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
了解 Video 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
加载视频文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
控制视频播放 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
在全屏模式下播放视频. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
流式传输视频文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
了解提示点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
编写元数据和提示点的回调方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
使用提示点和元数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
捕获摄像头输入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
向服务器发送视频. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
FLV 文件的高级主题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
示例:视频自动唱片点唱机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
FLASH ACTIONSCRIPT 3.0 编程viii
目录
第 25 章: 处理声音
声音处理基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
了解声音体系结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
加载外部声音文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
处理嵌入的声音 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
处理声音流文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
处理动态生成的音频. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
播放声音. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
加载和播放声音时的安全注意事项. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
控制音量和声相 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
处理声音元数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
访问原始声音数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
捕获声音输入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
示例:Podcast Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
第 26 章: 捕获用户输入
用户输入基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
捕获键盘输入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
捕获鼠标输入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
示例:WordSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
第 27 章: 网络与通信
网络和通信基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
处理外部数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
连接到其它 Flash Player 和 AIR 实例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
套接字连接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
存储本地数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
使用数据文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
示例:构建 Telnet 客户端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
示例:上载和下载文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
第 28 章: 客户端系统环境
客户端系统环境基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
使用 System 类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
使用 Capabilities 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
使用 ApplicationDomain 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
使用 IME 类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
示例:检测系统功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
第 29 章: 复制和粘贴
复制和粘贴基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
读取和写入系统剪贴板. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
剪贴板数据格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
FLASH ACTIONSCRIPT 3.0 编程ix
目录
第 30 章: 打印
打印基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
打印页面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Flash Player 和 AIR 任务和系统打印. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
设置大小、缩放和方向. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
示例:多页打印 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
示例:缩放、裁剪和拼接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
第 31 章: 使用外部 API
使用外部 API 的基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
外部 API 要求和优点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
使用 ExternalInterface 类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
示例:将外部 API 用于网页容器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
示例:将外部 API 用于 ActiveX 容器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
第 32 章: Flash Player 安全性
Flash Player 安全性概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
安全沙箱. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
权限控制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
限制网络 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
全屏模式安全性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
加载内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
跨脚本访问 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
作为数据访问加载的媒体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
加载数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
从导入到安全域的 SWF 文件加载嵌入内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
处理旧内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
设置 LocalConnection 权限. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
控制外出 URL 访问 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
共享对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
摄像头、麦克风、剪贴板、鼠标和键盘访问. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
索引. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
Flex3CookBook中文版.pdf
第一章.
Flex
与ActionScript
基础(
常青)
一个Flex应用程序有ActionScript和MXML两种语言代码组成。从3.0开始ActionScript已经从
基于原型脚本语言进化到完全面向对象的,强类型的符合ECMAScript标准的脚本语言。
MXML则是一种标记语言,非常类似于大家所熟悉的超文本标记语言(HTML),扩展标记语
言(XML)。
如何把MXML和ActionScript相互关联起来呢?对于编译器来说,解析这两种语法后最终被
翻译成同一个对象,比如:
<mx:Button id="btn" label="My Button" height="100"/>
和
var
btn:Button = new
Button();
btn.label = "My
Button"
;
btn.height = 100;
产生的是同一个对象,两者的主要不同是,ActionScript创建的对象(上面第二个例子)除了
Button就没有别的了,而MXML中创建的对象将Button添加到包含MXML代码的任何组件
上。Flex框架根据MXML中的对象描述来调用构造函数,然后将其添加到父对象上或设置其
为父对象的某个属性。
MXML文件中可用<mx:Script>标签包含ActionScript,不过ActionScript文件是不能包含在
MXML里的。你可以这样理解:MXML是描述应用程序外观及其组件,而ActionScript则描
述如何处理应用程序的事件和自定义逻辑,虽然这么说不完全确切,但可以让你明白这两者
之间的大致关系。在某些方面,比如循环,函数定义,条件语句等等都必须通过ActionScript
实现,除了最简单程序可能不需要ActionScript外,绝大多数都是需要MXML和ActionScript
来相互协作。
这一章讨论的内容很多都是关于MXML和ActionScript交互问题:用MXML创建组件,在
ActionScript中创建类,添加事件监听器,编写ActionScript和MXML代码,创建函数申明,
虽然没有列举所有的内容,但这些都是ActionScript和MXML的基础内容。
SQL语言查询手册.chm
Select
用途:
从指定表中取出指定的列的数据
语法:
SELECT column_name(s) FROM table_name
解释:
从数据库中选取资料列,并允许从一或多个资料表中,选取一或多个资料列或资料行。SELECT 陈述式的完整语法相当复杂,但主要子句可摘要为:
SELECT select_list
[ INTO new_table ]
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]