actionscript編程
A. ActionScript 是什麼是代碼編程么想從頭開始學點簡單的。請專家作些簡單的介紹。
什麼是ActionScript
ActionScript是Flash的腳本語言。正是由於Flash中增加、完善 了ActionScript,才能創作出來的動畫具有很強的交互性。在簡單的動畫中,Flash按順序播放動畫中的場景和幀,而在交互動畫中,用戶可以使用鍵盤或滑鼠與動畫交互,大大增強了用戶的參與,同時也大大增強了Flash動畫的魅力。例如,可以單擊動畫中的按鈕,使動畫跳轉到不同部分繼續播放;可以移動動畫中的對象,如移動你手中的手槍,使射出的子彈准確地擊中目標;可以在表單中輸入信息,反饋你對公司的意見等。
有了ActionScript,就可以通過設置動作來創建交互動畫。使用Normal Mode動作面板上的控制項,無需編寫任何動作腳本就可以插入動作。如果已經熟悉ActionScript,也可以使用專家模式動作面板編寫腳本。命令的形式可以是一個動作(如命令動畫停止播放),也可以是一系列動作。很多動作的設置只要求有少量的編程經驗,而其它一些動作的應用則要求比較熟悉編程語言,用於高級開發。
ActionScript同樣擁有語法、變數、函數等,而且與JavaScript類似,它也由許多行語句代碼組成,每行語句又是一些命令、運算符、分號等組成。它的結構與C/C++或者Java等高級編程語言相似。所以,對於有高級編程經驗的人來說,學習ActionScript是很低輕松的。
ActionScript與JavaScript結構類似,但是它的編程要容易得多,每一行的代碼都可以簡單地從ActionScript面板中直接調用。在任何時候,對輸入的ActionScript代碼,Flash都會檢查語法是否正確,並提示如何修改。完成一個動畫的ActionScript編程以後,可以直接在ActionScript的調試過程中,檢查每一個變數的賦值過程,設置檢查帶寬的使用情況。ActionScript更容易使編程學習者理解面向對象編程中難以理解的對象、屬性、方法等名詞。
ActionScript中的對象可以包含數據或作為電影剪輯以圖像形式出現在編輯區中。所有的電影剪輯都是預定義類MovicClip的實例。每個電影剪輯實例均包含MovicClip類的所有屬性(如_height、_rotation、_totaframes)的所有方法(如gotoAndPlay、loadMovie、startDrag)。
B. ActionScript 3.0游戲編程的目錄
《actionscript 3.0游戲編程(第2版)》
第1 章 使用flash 和actionscript 3.0 1
1.1 什麼是actionscript 3.01
1.2 創建簡單的actionscript 程序2
1.2.1 trace 的簡單用法3
1.2.2 創建屏幕輸出5
1.2.3 我們的第一個actionscript 3.0類 6
1.3 使用flash cs5 9
1.3.1 顯示對象和顯示列表9
1.3.2 舞台9
1.3.3 庫10
1.3.4 時間軸10
1.4 編輯actionscript 代碼11
1.5 actionscript 游戲編程策略13
1.5.1 單類方法14
1.5.2 任務細分法14
1.5.3 良好的編程規范14
1.6 actionscript 的基本盯絕空概念16
1.6.1 創建和使用變數17
1.6.2 條件語句18
.1.6.3 循環19
1.6.4 函數19
1.7 測試及調試20
1.7.1 bug 類型20
1.7.2 測試方法20
1.7.3 使用調試器21
1.8 發布游戲23
1.8.1 格式23
1.8.2 flash 24
1.8.3 html25
1.9 actionscript 游戲編程檢查清單26
1.9.1 發布和文檔設置26
1.9.2 類、函數和變數的名稱27
1.9.3 運行時問題28
1.9.4 測試問題28
第2 章 actionscript 游戲元素30
2.1 創建可視對象30
2.1.1 使用影片剪輯31
2.1.2 創建按鈕32
2.1.3 繪制圖形35
2.1.4 繪制文本37
2.1.5 創建鏈接文本39
2.1.6 創建sprite 對象組40
2.1.7 設置sprite 的深度42
2.2 接收用戶輸入42
2.2.1 滑鼠輸入43
2.2.2 鍵盤輸入44
2.2.3 文本輸入45
2.3 創建動畫46
2.3.1 sprite 運動46
2.3.2 使宏者用timer48
2.3.3 基於時間的動畫49
2.3.4 基於物理的動畫49
2.4 設計用戶交互51
2.4.1 移動sprite 51
2.4.2 拖曳sprite 53
2.4.3 碰撞檢測54
2.5 獲取外部數據55
2.5.1 外部變數55
2.5.2 載入數據57
2.5.3 存儲本地數據57
2.6 各類游戲元素58
2.6.1 定製游標58
2.6.2 播放聲音60
2.6.3 載入進程界面 61
2.6.4 隨機數62
2.6.5 數組重組63
2.6.6 顯示時間64
2.6.7 系統數據64
2.6.8 游戲盜版及保護問題 65
第3 章 基本游戲框架:配對游戲67
3.1 放置可交互的元素68
3.1.1 創建游戲部件的方法 68
3.1.2 設置flash 影片 69
3.1.3 創建基本actionscript 類70
3.1.4 使用常量實現更好的編程73
3.1.5 隨機分配卡片 74
3.2 游戲開始76
3.2.1 添加滑鼠偵聽器 76
3.2.2 建立游戲邏輯 77
3.2.3 檢測游戲結束 81
3.3 封裝游戲83
3.3.1 創建游戲影片剪輯 83
3.3.2 添加介紹界面 84
3.3.3 添加play again 按鈕 86
3.4 添加得分和時間 86
3.4.1 添加得分 87
3.4.2 添加時間 89
3.4.3 顯示時間 90
3.4.4 游戲結束後顯示所得分數和時間91
3.5 添加游戲效果93
3.5.1 卡片翻轉動畫 93
3.5.2 有限的卡片瀏覽時間 95
3.5.3 聲音效果 96
3.6 修改游戲98
第4 章 腦力游戲:記憶和推理99
4.1 數組和數據對象 99
4.1.1 數組100
4.1.2 數據對象 101
4.1.3 數據對象數組 102
4.2 記憶游戲102
4.2.1 准備影片 103
4.2.2 編程策略 105
4.2.3 類定義 105
4.2.4 設置文本、燈和音頻凱瞎106
4.2.5 播放序列 109
4.2.6 開關燈 110
4.2.7 接收並檢查玩家輸入 111
4.2.8 修改游戲 113
4.3 推理游戲 114
4.3.1 建立影片 114
4.3.2 定義類 117
4.3.3 開始新的游戲 118
4.3.4 檢查玩家的猜測 121
4.3.5 評估游戲結果 121
4.3.6 結束游戲 123
4.3.7 清除游戲元素 126
4.3.8 修改游戲 127
第5 章 游戲動畫:射擊游戲和彈跳游戲 128
5.1 游戲動畫 128
5.1.1 基於時間的動畫 129
5.1.2 基於時間動畫的編程130
5.2 空襲游戲133
5.2.1 影片設置和配置 133
5.2.2 飛行中的飛機 134
5.2.3 移動炮台 137
5.2.4 射向天空的炮彈 140
5.2.5 游戲類 142
5.2.6 修改游戲 148
5.3 彈球游戲149
5.3.1 建立影片149
5.3.2 類定義152
5.3.3 開始游戲 153
5.3.4 新建一個小球 155
5.3.5 游戲動畫及碰撞檢測 155
5.3.6 游戲結束161
5.3.7 修改游戲162
第6 章 拼圖游戲:滑動與拼圖163
6.1 編輯點陣圖圖像164
6.1.1 導入點陣圖164
6.1.2 點陣圖切分165
6.2 滑動拼接游戲167
6.2.1 設置影片168
6.2.2 設置類168
6.2.3 導入圖像170
6.2.4 將圖像切分成小塊171
6.2.5 重新排列小塊173
6.2.6 對玩家單擊作出反應175
6.2.7 滑動過程的動畫177
6.2.8 游戲結束和清理178
6.2.9 修改游戲179
6.3 拼圖游戲179
6.3.1 設置類180
6.3.2 導入和切割圖像181
6.3.3 拖曳小塊184
6.3.4 游戲結束188
6.3.5 修改游戲189
第7 章 方向和運動:空襲2、太空岩石和氣球游戲190
7.1 用數學方法旋轉和移動對象190
7.1.1 正弦函數和餘弦函數191
7.1.2 使用餘弦和正弦移動小車192
7.1.3 根據位置計算角度195
7.2 空襲2 198
7.2.1 改變高射炮198
7.2.2 改變炮彈200
7.2.3 創建airraid2。as 202
7.3 太空岩石203
7.3.1 游戲元素設計203
7.3.2 設置圖形205
7.3.3 設置類206
7.3.4 開始游戲208
7.3.5 得分和狀態顯示對象209
7.3.6 飛船運動和玩家輸入211
7.3.7 打開保護盾215
7.3.8 岩石216
7.3.9 導彈219
7.3.10 游戲控制221
7.3.11 修改游戲223
7.4 氣球游戲223
7.4.1 游戲元素設計224
7.4.2 設置圖形225
7.4.3 設置類225
7.4.4 開始游戲226
7.4.5 准備一個游戲級別226
7.4.6 主要的游戲事件227
7.4.7 玩家控制229
7.4.8 彈出氣球230
7.4.9 結束分布級別和游戲231
7.4.10 時間軸腳本232
7.4.11 修改游戲232
第8 章 休閑游戲:同色消除和消除方塊233
8.1 可重用的類:爆炸點234
8.1.1 開發爆炸點類235
8.1.2 在影片中使用爆炸點238
8.2 同色消除240
8.2.1 玩同色消除游戲241
8.2.2 游戲功能概述241
8.2.3 影片和match three 類242
8.2.4 設置游戲網格244
8.2.5 玩家交互246
8.2.6 製作小塊的移動動畫248
8.2.7 尋找匹配250
8.2.8 尋找可能的移動254
8.2.9 分數記錄和游戲結束257
8.2.10 修改游戲258
8.3 消除方塊258
8.3.1 設置圖形260
8.3.2 設置類260
8.3.3 開始游戲261
8.3.4 遞歸262
8.3.5 使用遞歸移除小塊264
8.3.6 掉落的小塊266
8.3.7 檢查空列267
8.3.8 游戲結束269
8.3.9 修改游戲270
第9 章 文字游戲:hangman 和單詞搜索271
9.1 字元串和文本欄位271
9.1.1 actionscript 3.0 字元串處理272
9.1.2 對文本欄位應用文本格式275
9.2 hangman281
9.2.1 設置hangman 游戲281
9.2.2 hangman 類282
9.3 單詞搜索284
9.3.1 開發策略285
9.3.2 定義類286
9.3.3 創建單詞搜索網格287
9.3.4 用戶交互291
9.3.5 處理發現的單詞293
9.3.6 修改游戲296
第10 章 問題和答案:問答游戲297
10.1 存儲和獲取游戲數據297
10.1.1 理解xml 數據298
10.1.2 導入外部xml 文件300
10.1.3 處理載入錯誤301
10.2 問答游戲301
10.2.1 設計一個簡單的問答游戲302
10.2.2 設置影片302
10.2.3 設置類303
10.2.4 導入問答數據306
10.2.5 信息文本和游戲按鈕306
10.2.6 推進游戲進程308
10.2.7 顯示問題和答案308
10.2.8 判斷玩家的答案310
10.2.9 結束游戲311
10.3 問答游戲豪華版312
10.3.1 添加時間限制312
10.3.2 添加提示314
10.3.3 添加事實描述317
10.3.4 添加復雜的計分方式317
10.3.5 隨機選擇問題 319
10.4 圖片問答游戲320
10.4.1 更好的答案布局320
10.4.2 識別兩種類型的答案322
10.4.3 創建loader 對象322
10.4.4 判斷正確答案 323
10.4.5 擴展單擊區域 324
10.4.6 將圖像作為問題 325
10.4.7 修改游戲 326
第11 章 動作類游戲:平台游戲 327
11.1 設計游戲 328
11.1.1 關卡設計328
11.1.2 設計類333
11.1.3 規劃所需函數 334
11.2 建立類335
11.2.1 類的定義335
11.2.2 開始游戲和關卡 336
11.2.3 鍵盤輸入340
11.2.4 游戲主循環 341
11.2.5 角色的運動 342
11.2.6 滾動游戲關卡 347
11.2.7 檢測碰撞348
11.2.8 敵人和玩家的死亡348
11.2.9 收集分數和物體 350
11.2.10 顯示玩家狀態 351
11.2.11 關卡和游戲的結束 352
11.2.12 游戲對話框352
11.3 修改游戲353
第12 章 駕駛和競速游戲355
12.1 創建俯視圖駕駛游戲355
12.1.1 創建一個俯視下的世界 355
12.1.2 游戲設計358
12.1.3 類的定義360
12.1.4 構造函數362
12.1.5 尋找街區364
12.1.6 垃圾的放置 364
12.1.7 鍵盤輸入366
12.1.8 游戲循環367
12.1.9 車的移動368
12.1.10 檢測與垃圾及垃圾桶的碰撞370
12.1.11 時鍾372
12.1.12 分數提示器372
12.1.13 游戲結束373
12.1.14 修改游戲374
12.2 建立flash 競速游戲374
12.2.1 競速游戲的元素374
12.2.2 製作賽道375
12.2.3 音效376
12.2.4 常量和變數376
12.2.5 開始游戲377
12.2.6 游戲主循環378
12.2.7 車的移動380
12.2.8 檢查進度381
12.2.9 倒計時和時鍾382
12.2.10 游戲結束383
12.2.11 修改游戲384
第13 章 紙牌游戲:猜大小、電子撲克和21 點385
13.1 猜大小385
13.1.1 創建牌堆386
13.1.2 建立類387
13.1.3 開始游戲387
13.1.4 響應玩家的行為389
13.1.5 清空390
13.1.6 修改游戲391
13.2 電子撲克391
13.2.1 洗牌和發牌392
13.2.2 計時事件392
13.2.3 創建牌堆393
13.2.4 游戲元素393
13.2.5 建立類394
13.2.6 洗牌396
13.2.7 計時事件396
13.2.8 開始發牌397
13.2.9 抽牌399
13.2.10 完成一手牌401
13.2.11 計算撲克贏分402
13.2.12 修改游戲403
13.3 21 點403
13.3.1 游戲元素403
13.3.2 設置類404
13.3.3 開始游戲405
13.3.4 計時事件406
13.3.5 發牌407
13.3.6 要牌或停牌408
13.3.7 莊家行為409
13.3.8 計算21 點的手牌410
13.3.9 游戲的其他函數412
13.3.10 修改游戲413
第14 章 3d 游戲:打靶訓練、競速游戲和地牢冒險414
14.1 flash 3d 基礎415
14.1.1 設置3d 位置415
14.1.2 旋轉物體416
14.2 打靶訓練418
14.2.1 游戲元素418
14.2.2 設置類419
14.2.3 開始游戲420
14.2.4 繪制加農炮和標靶420
14.2.5 移動加農炮421
14.2.6 打出炮彈422
14.2.7 修改游戲423
14.3 3d 競速游戲423
14.3.1 游戲元素424
14.3.2 建立影片425
14.3.3 用戶控制427
14.3.4 玩家的移動429
14.3.5 z 索引排序430
14.3.6 修改游戲431
14.4 3d 地牢冒險431
14.4.1 游戲元素432
14.4.2 設置游戲432
14.4.3 構造地牢433
14.4.4 游戲主函數436
14.4.5 玩家的移動437
14.4.6 收集硬幣438
14.4.7 游戲的局限性439
14.4.8 擴展游戲439
第15 章 為iphone 製作游戲441
15.1 開始ios 開發441
15.1.1 需要准備什麼442
15.1.2 為ios 的發布443
15.1.3 ios 游戲的建立過程447
15.2 設計和編程的注意事項448
15.2.1 屏幕尺寸448
15.2.2 非網頁449
15.2.3 觸摸449
15.2.4 處理器速度449
15.2.5 加速計450
15.3 滑塊拼圖改編451
15.3.1 調整屏幕尺寸451
15.3.2 更改發布設置 452
15.3.3 包含圖片452
15.3.4 發布 453
15.4 彈子迷宮游戲 454
15.4.1 建立類 454
15.4.2 開始游戲 455
15.4.3 游戲實操 456
15.4.4 碰撞檢測 458
15.4.5 游戲結束 459
15.4.6 修改游戲 459
15.5 為ios 設備而優化 460
15.5.1 利用gpu 和點陣圖緩存 460
15.5.2 對象池 462
15.5.3 簡化事件 462
15.5.4 最小化屏幕重繪區 463
15.5.5 更多優化方法 463
15.6 iphone 之外 465