內容簡介
actionscript 3.0是adobe公司為適應新形勢的需要而推出的面向開發人員的一種腳本語言。本書詳細地介紹了actionscript 3.0的基礎知識,並介紹了在flash cs5開發環境中進行系統開發的方法。全書共分為五篇26章,從最基礎的編程概念著手,詳細講解了actionscript 3.0的語法、程式設計方法、核心類、數據通信技術等方面的知識,並結合小實例,講解了每個知識點的套用方法。在本書最後的套用實例部分,通過3種不同類型的實例,具體講解了使用actionscript 3.0進行系統開發的方法和技巧,使讀者能夠融會貫通、學以致用。
本書的特點是詳細介紹了actionscript 3.0腳本的基礎知識和基本套用,使用豐富的代碼實例詳細地闡述了代碼的實現方法,方便讀者模擬實踐。本書適合廣大flash製作和開發人員、web套用開發人員和大專院校學生閱讀,也可作為aetionscript開發人員的參考手冊。
目錄
叢書序
前言
第一篇 actionscript 3.0編程基礎
第1章 actionscript 3.0概述 1
1.1 關於actionscript 3.0 1
1.1.1 actionscript 3.0介紹 1
1.1.2 actionscript 3.0能做什麼 1
1.2 actionscript 3.0的新特色 3
1.2.1 核心語言的新特色 3
1.2.2 flash player api 新功能 4
1.3 flash cs5的動作面板介紹 5
1.3.1 動作面板概述 5
1.3.2 腳本視窗概述 6
1.3.3 動作面板和腳本視窗的工具介紹 6
1.4 actionscript 3.0的首選參數設定 7
1.5 面向對象編程概述 8
1.6 flash cs5的第一個“welcome you” 9
1.6.1 在關鍵幀上加入代碼 9
1.6.2 利用文檔類製作第一個“welcome you”程式 10
1.7 練習題 10
.第2章 as 3.0程式語言基礎 12
2.1 as 3.0語法 12
2.1.1 點語法 12
2.1.2 標點符號的使用 13
2.1.3 注釋 15
2.1.4 關鍵字和保留字 15
2.2 變數和常量 16
2.2.1 聲明變數的語法 16
2.2.2 變數的命名規則 17
2.2.3 變數的作用域 17
2.2.4 變數的默認值 19
2.2.5 使用const聲明常量 20
2.3 基礎數據類型 21
2.3.1 基礎數據類型說明 22
2.3.2 數據類型檢查 27
2.3.3 隱式數據類型轉換 28
2.3.4 顯式數據類型轉換 29
2.3.5 無類型說明符 32
2.4 運算符與表達式 32
2.4.1 運算符與表達式基礎知識 32
2.4.2 賦值運算符 33
2.4.3 算術運算符 34
2.4.4 算術賦值運算符 34
2.4.5 關係運算符 35
2.4.6 邏輯運算符 38
2.4.7 按位和按位賦值運算符 39
2.4.8 遞加運算符和遞減運算符 40
2.4.9 三元條件運算符 40
2.4.10 其他運算符 41
2.4.11 運算符的優先權 41
2.5 練習題 42
第3章 as 3.0程式設計 43
3.1 邏輯運算 43
3.2 程式的3種結構 43
3.2.1 順序結構 43
3.2.2 選擇結構 44
3.2.3 循環結構 44
3.3 選擇程式結構 45
3.3.1 if...else 條件語句 45
3.3.2 if...else if...else語句 46
3.3.3 switch語句 47
3.4 循環程式結構 48
3.4.1 for循環語句 48
3.4.2 while循環語句 49
3.4.3 do...while循環語句 50
3.4.4 for...in和for each...in語句 51
3.4.5 循環的嵌套 52
3.4.6 循環流程控制語句 53
3.5 練習題 55
第4章 函式 56
4.1 定義函式 56
4.1.1 函式語句定義法 56
4.1.2 函式表達式定義法 56
4.1.3 兩種定義方法的區別和選擇 57
4.2 調用函式 58
4.2.1 函式的一般調用 58
4.2.2 嵌套和遞歸調用函式 60
4.3 函式的返回值 62
4.3.1 return語句 62
4.3.2 返回值類型 63
4.4 函式的參數 64
4.4.1 傳遞參數的語法 64
4.4.2 傳遞參數的兩種方法 65
4.4.3 給函式設定默認參數 66
4.4.4 arguments 對象和...(rest) 參數 67
4.5 練習題 69
第5章 事件的傳送和處理 70
5.1 事件處理基礎 70
5.1.1 事件和事件處理基礎知識 70
5.1.2 早期 actionscript 版本中的事件處理 71
5.1.3 actionscript 3.0中的事件處理 72
5.2 event類 72
5.2.1 了解event類的屬性 72
5.2.2 了解event類的方法 73
5.2.3 event類的子類 74
5.3 事件偵聽器 74
5.3.1 創建事件偵聽器 74
5.3.2 管理事件偵聽器 77
5.4 事件處理類型 79
5.4.1 滑鼠事件 79
5.4.2 鍵盤事件 83
5.4.3 時間事件 85
5.4.4 幀循環enter_frame事件 86
5.5 練習題 87
第6章 面向對象編程基礎 88
6.1 面向對象編程技術概述 88
6.2 類 89
6.2.1 類概述 89
6.2.2 創建自定義的類 90
6.2.3 創建類的實例 91
6.2.4 包塊和類 92
6.2.5 包的導入 93
6.2.6 構造函式 94
6.2.7 聲明和訪問類的屬性 95
6.2.8 聲明和訪問類的方法 97
6.2.9 類的使用 99
6.2.10 包外類 103
6.3 接口 104
6.3.1 接口的定義 104
6.3.2 在類中實現接口 105
6.4 繼承 106
6.4.1 繼承的定義 106
6.4.2 屬性和方法的繼承 106
6.4.3 重寫(override) 108
6.5 as 3.0命名空間 108
6.5.1 命名空間的定義 108
6.5.2 使用命名空間 109
6.6 練習題 110
第二篇 actionscript 3.0顯示和動畫編程
第7章 as 3.0顯示編程 113
7.1 顯示對象簡介 113
7.1.1 as 3.0中顯示對象的等級結構 113
7.1.2 顯示對象的種類 114
7.1.3 顯示列表 115
7.2 顯示對象的一些基本概念 116
7.2.1 顯示對象的常見屬性 116
7.2.2 顯示對象的方法 119
7.2.3 顯示對象的事件 120
7.3 管理顯示對象 121
7.3.1 容器的概念 122
7.3.2 添加顯示對象 124
7.3.3 刪除顯示對象 129
7.3.4 深度管理 131
7.3.5 訪問顯示對象 137
7.4 處理顯示對象 140
7.4.1 改變對象的位置 140
7.4.2 縮放顯示對象 142
7.4.3 旋轉顯示對象 143
7.4.4 淡化顯示對象 144
7.4.5 拖曳顯示對象 145
7.4.6 遮罩顯示對象 147
7.4.7 碰撞檢測 148
7.5 練習題 149
第8章 使用與控制影片剪輯 151
8.1 影片剪輯基礎知識 151
8.1.1 movieclip簡介 151
8.1.2 處理movieclip對象 151
8.2 影片剪輯基本控制 152
8.2.1 影片剪輯的播放控制 152
8.2.2 動態載入並控制庫中的影片剪輯 156
8.2.3 載入並控制外部的影片剪輯 157
8.3 練習題 158
第9章 as 3.0動畫編程 159
9.1 可視化動畫編程簡介 159
9.2 動畫編程原理 159
9.3 代碼繪製動畫效果 160
9.4 改變對象屬性 161
9.4.1 移動物體 161
9.4.2 加速運動的物體 164
9.4.3 減速運動的物體 166
9.4.4 滑鼠跟隨緩動效果 167
9.4.5 利用三角函式實現運動效果 169
9.4.6 縮放動畫效果 170
9.4.7 旋轉動畫效果 172
9.4.8 淡入/淡出動畫效果 173
9.5 藉助timer類實現動畫效果 174
9.6 tween類創建動畫效果 177
9.6.1 tween類套用基礎 177
9.6.2 運動折返效果 177
9.6.3 運動回彈效果 179
9.6.4 正弦彈性效果 180
9.6.5 regular和strong運動效果 182
9.6.6 線性運動效果 184
9.7 transitionmanager創建動畫效果 185
9.7.1 transitionmanager用法基礎 185
9.7.2 遮簾過渡效果 185
9.7.3 淡化過渡效果 186
9.7.4 飛行過渡效果 187
9.7.5 光圈過渡效果 187
9.7.6 照片過渡效果 188
9.7.7 像素溶解過渡效果 188
9.7.8 旋轉過渡效果 189
9.7.9 擠壓過渡效果 189
9.7.10 劃入過渡效果 190
9.7.11 縮放過渡效果 190
9.8 練習題 191
第三篇 actionscript 3.0核心類
第10章 數組 193
10.1 數組基礎知識 193
10.2 索引數組 194
10.2.1 創建和訪問數組 194
10.2.2 在數組中新增元素 195
10.2.3 刪除數組中的元素 197
10.2.4 對數組進行排序 198
10.2.5 從數組中查找元素 201
10.2.6 數組比較 204
10.2.7 從數組中獲取元素 206
10.2.8 複製數組 208
10.2.9 數組轉換為字元串 210
10.3 關聯數組 210
10.3.1 創建關聯數組 211
10.3.2 讀取關聯數組 211
10.4 多維數組 213
10.4.1 創建多維數組 213
10.4.2 訪問多維數組 214
10.5 練習題 215
第11章 數學與數字 216
11.1 flash坐標系統 216
11.1.1 笛卡兒坐標系—數學坐標系 216
11.1.2 flash坐標系 216
11.1.3 極坐標系 217
11.1.4 flash的坐標 217
11.1.5 滑鼠位置檢測實例 218
11.2 數學處理 221
11.2.1 math類的常量 221
11.2.2 math.abs()方法 222
11.2.3 math.ceil()方法 222
11.2.4 math.exp()方法 222
11.2.5 math.floor()方法 222
11.2.6 math.log()方法 223
11.2.7 math.max()方法 223
11.2.8 math.min()方法 223
11.2.9 math.pow()方法 224
11.2.10 math.round()方法 224
11.2.11 math.sqrt()方法 225
11.2.12 隨機運動小球實例 225
11.2.13 黑客帝國數字流實例 227
11.2.14 獲取多個隨機數字 230
11.3 三角函式 231
11.3.1 直角三角形 231
11.3.2 角度和弧度 233
11.3.3 正弦函式math.sin() 234
11.3.4 數字天地實例 235
11.3.5 餘弦函式math.cos() 237
11.3.6 圓周運動實例 238
11.3.7 3d文字旋轉效果 240
11.3.8 正切函式math.tan() 242
11.3.9 反正切函式math.atan()和math.atan2() 242
11.3.10 跟隨滑鼠運動爬蟲實例 244
11.3.11 反正弦函式math.asin()和反餘弦函式math.acos() 245
11.4 練習題 246
第12章 point類與向量 247
12.1 點坐標與向量 247
12.2 point類 248
12.2.1 point對象的創建和獲取 248
12.2.2 點對象的長度 249
12.2.3 兩點之間的距離 251
12.2.4 坐標加減運算 252
12.2.5 縮放坐標 254
12.2.6 偏移坐標 256
12.2.7 極坐標轉flash坐標 257
12.3 二維向量 260
12.3.1 v2d類的構造函式 260
12.3.2 向量檢查方法tostring() 261
12.3.3 向量重置、複製、比較方法 261
12.3.4 向量加法 262
12.3.5 向量減法 263
12.3.6 向量翻轉 263
12.3.7 向量縮放 264
12.3.8 向量長度 264
12.3.9 向量角度 265
12.3.10 向量旋轉 266
12.3.11 向量點積 268
12.3.12 法向量 268
12.3.13 向量夾角 269
12.3.14 圓邊緣碰撞實例 270
12.4 練習題 272
第13章 幾何結構 273
13.1 rectangle類 273
13.1.1 rectangle類概述 273
13.1.2 矩形區域的大小和位置 274
13.1.3 矩形區域的聯合 276
13.1.4 矩形區域的交集 277
13.1.5 控制拖動範圍實例 277
13.2 matrix類 278
13.2.1 matrix類概述 278
13.2.2 創建matrix對象 279
13.2.3 矩陣平移顯示對象 281
13.2.4 矩陣縮放顯示對象 283
13.2.5 矩陣旋轉顯示對象 284
13.3 練習題 285
第14章 繪圖與顏色 286
14.1 顏色與顏色轉換 286
14.1.1 顏色基礎 286
14.1.2 轉換顯示對象顏色 287
14.1.3 隨機顏色 290
14.2 繪製直線和曲線 293
14.2.1 設定線條樣式 293
14.2.2 繪製一條直線 294
14.2.3 繪製一條曲線 295
14.3 繪製幾何圖形 297
14.3.1 繪製矩形 297
14.3.2 繪製圓角矩形 298
14.3.3 繪製圓形 300
14.3.4 繪製橢圓 301
14.4 顏色的漸變和填充 302
14.4.1 線條的漸變 302
14.4.2 漸變填充 304
14.5 常用繪製方法介紹 306
14.5.1 滑鼠繪製直線 306
14.5.2 滑鼠任意繪製線條 307
14.5.3 繪製虛線 309
14.5.4 繪製箭頭線 310
14.5.5 繪製三角形 312
14.5.6 繪製扇形 313
14.5.7 繪製正多邊形 314
14.5.8 動態畫圓 316
14.6 練習題 318
第15章 文本 319
15.1 文本處理基礎 319
15.2 顯示文本 319
15.2.1 文本類型 319
15.2.2 顯示動態文本 320
15.2.3 顯示輸入文本 321
15.2.4 顯示html文本 322
15.2.5 獲取靜態文本內容 323
15.3 文本操作 325
15.3.1 文本對象基本設定 325
15.3.2 設定文本的可選性 326
15.3.3 捕獲選擇的文本 328
15.3.4 過濾輸入文本 329
15.3.5 使用密碼輸入 331
15.3.6 監聽文本輸入 332
15.4 對文本進行格式化 333
15.4.1 settextformat()方法介紹 334
15.4.2 textformat格式化屬性介紹 334
15.4.3 格式化輸入文本 336
15.4.4 格式化部分文本 338
15.4.5 設定文本的超連結 339
15.4.6 使用css格式化文本 341
15.5 多行文本顯示 343
15.5.1 多行顯示文本 343
15.5.2 設定段落格式 344
15.5.3 在文本中顯示圖形 346
15.6 練習題 348
第16章 字元串 349
16.1 字元串基礎知識 349
16.2 創建字元串 349
16.2.1 定義一個普通的字元串 350
16.2.2 定義含有轉義字元的字元串 350
16.3 處理字元串 353
16.3.1 字元串連線 353
16.3.2 搜尋字元串 355
16.3.3 刪除或者替換字元串 356
16.3.4 截取字元串 357
16.3.5 字元串轉數組 360
16.3.6 大小寫轉換 360
16.4 練習題 360
第17章 正則表達式 362
17.1 正則表達式概述 362
17.1.1 什麼是正則表達式 362
17.1.2 一個簡單的正則表達式實例 363
17.1.3 正則表達式的構成 363
17.2 正則表達式的語法 364
17.2.1 正則表達式中的普通字元 364
17.2.2 正則表達式中的元字元 364
17.2.3 正則表達式中的元序列 368
17.2.4 正則表達式中的字元類 369
17.2.5 正則表達式中的標誌位 370
17.3 正則表達式的用法 371
17.3.1 regexp類 371
17.3.2 string類的方法套用 372
17.4 幾種常用的正則表達式 374
17.4.1 正則表達式測試場景 374
17.4.2 匹配中文字元 376
17.4.3 匹配用戶名 377
17.4.4 匹配貨幣數字 379
17.4.5 匹配e-mail地址 380
17.4.6 匹配網址 382
17.4.7 匹配ip地址 383
17.4.8 匹配電話號碼 385
17.4.9 匹配身份證號碼 386
17.5 練習題 388
第18章 點陣圖和濾鏡 389
18.1 點陣圖 389
18.1.1 點陣圖基礎 389
18.1.2 bitmap類 389
18.1.3 bitmapdata類 390
18.1.4 創建點陣圖 391
18.1.5 載入外部圖像 393
18.2 處理像素 394
18.2.1 獲取單個像素 394
18.2.2 設定單個像素 395
18.2.3 處理像素數組 397
18.3 點陣圖的複製 398
18.3.1 clone()方法 399
18.3.2 copypixels()方法 400
18.3.3 copychannel()方法 402
18.3.4 draw()方法 404
18.4 使用雜點功能 406
18.4.1 noise()方法 406
18.4.2 perlinnoise()方法 408
18.5 點陣圖套用效果 409
18.5.1 滾動點陣圖效果 409
18.5.2 像素溶解效果 411
18.6 濾鏡類及套用 413
18.6.1 濾鏡類 413
18.6.2 投影效果 414
18.6.3 發光效果 417
18.6.4 浮雕效果 419
18.6.5 漸變發光效果 421
18.6.6 模糊效果 423
18.7 練習題 424
第19章 日期與時間 425
19.1 date類 425
19.1.1 創建日期和時間 425
19.1.2 獲取時間值 426
19.1.3 獲取月份和星期 427
19.1.4 獲取時間間隔 428
19.2 timer類動畫製作 428
19.3 動態時鐘實例 431
19.4 練習題 437
第20章 聲音編程 438
20.1 聲音編程介紹 438
20.1.1 sound類 438
20.1.2 soundchannel類 439
20.1.3 soundmixer類 439
20.2 播放和控制聲音 440
20.2.1 載入外部聲音 440
20.2.2 載入嵌入聲音 443
20.2.3 播放、暫停和停止 444
20.2.4 顯示播放進度 447
20.2.5 控制音量 449
20.3 捕獲聲音輸入 451
20.3.1 microphone類 451
20.3.2 獲取麥克風的音頻內容 451
20.4 練習題 453
第四篇 actionscript 3.0數據通信技術
第21章 xml 455
21.1 xml檔案簡介 455
21.1.1 簡單的xml檔案示例 455
21.1.2 xml語法簡單介紹 456
21.1.3 xml結構 457
21.2 xml對象 457
21.2.1 構造xml對象 457
21.2.2 載入xml檔案 459
21.2.3 增加xml元素和屬性 461
21.2.4 刪除xml元素和屬性 461
21.2.5 訪問xml元素和屬性 462
21.3 練習題 463
第22章 as 3.0與網路通信 464
22.1 數據通信基礎 464
22.1.1 構建通信請求過程 464
22.1.2 載入文本格式數據 466
22.1.3 載入值對格式數據 468
22.1.4 載入二進制格式數據 470
22.1.5 傳送數據 472
22.1.6 打開外部連結效果 474
22.2 與javascript通信 475
22.2.1 javascript腳本簡介 475
22.2.2 在網頁中加入javascript 476
22.2.3 flash向javascript傳遞數據 476
22.2.4 javascript向flash傳遞數據 479
22.3 shareobject本地數據存儲 482
22.3.1 創建shareobject對象 482
22.3.2 向so上寫入數據 483
22.3.3 讀取so數據 484
22.3.4 刪除保存的so共享數據 484
22.4 練習題 485
第23章 as 3.0異常處理 486
23.1 異常和錯誤基礎知識 486
23.2 使用try...catch...finally處理異常 487
23.3 錯誤類 489
23.3.1 輸入/輸出異常類 489
23.3.2 讀取異常類 490
23.3.3 堆疊異常類 491
23.3.4 非法操作異常類 492
23.4 練習題 492
第五篇 actionscript 3.0綜合套用實例
第24章 課件套用實例 495
24.1 課件設計與需求分析 495
24.1.1 課件介紹 495
24.1.2 課件設計需求分析 496
24.2 課件設計過程 496
24.2.1 設計準備與素材準備 497
24.2.2 loading製作 499
24.2.3 封面設計和變數初始化 501
24.2.4 平拋運動演示 502
24.2.5 平拋運動分運動規律 507
24.2.6 平拋運動速度規律 509
24.2.7 平拋運動位移規律 513
24.2.8 反饋練習 517
24.2.9 跳轉及功能按鈕實現 520
24.3 練習題 523
第25章 遊戲套用實例 524
25.1 flash遊戲介紹及原理和流程 524
25.1.1 flash遊戲介紹 524
25.1.2 數字猜猜猜遊戲原理及實現流程 524
25.2 遊戲準備 525
25.2.1 隨機數字產生方法 525
25.2.2 輸入數據分析 527
25.3 遊戲設計實施 530
25.3.1 遊戲初始化 530
25.3.2 創建靜態場景部分 531
25.3.3 創建輸入文本框並獲取輸入內容 533
25.3.4 創建控制按鈕 535
25.3.5 數據判斷分析 536
第26章 flash留言本實例 539
26.1 前期準備 539
26.1.1 留言本功能和流程分析 539
26.1.2 windows xp下iis伺服器的架設 540
26.1.3 asp簡介與環境測試 541
26.1.4 安裝access資料庫 542
26.1.5 創建access資料庫 543
26.2 flash前台製作 544
26.2.1 創建基本元件 544
26.2.2 創建場景內容和面板 549
26.2.3 顯示和瀏覽留言 552
26.2.4 發表留言 557
26.3 後台支撐部分 560
26.3.1 連線資料庫 560
26.3.2 獲取留言 560
26.3.3 發表留言 562