第1 章 HTML5 簡介 1
1.1 HTML 簡史 1
1.2 為什麼需要HTML5 2
1.2.1 問題 2
1.2.2 解決問題 2
1.3 HTML5 的新特性 3
1.3.1 結構和內容元素 3
1.3.2 錶單 6
1.3.3 媒體元素 7
1.4 剖析HTML5 頁麵的結構 11
1.5 對HTML5 的誤解 16
1.5.1 CSS3 誤解 16
1.5.2 Web Fonts 誤解 17
1.5.3 Geolocation 誤解 17
1.5.4 SVG 誤解 17
1.5.5 Web Storage 誤解 18
1.5.6 Web Workers 誤解 18
1.5.7 WebSocket 誤解 18
1.6 小結 19
第2 章 JavaScript 基礎 20
2.1 JavaScript 概述 20
2.2 jQuery 21
2.2.1 jQuery 是什麼 21
2.2.2 為什麼要使用它 21
2.2.3 這是在誤導你嗎 22
2.2.4 是否不需要理解純JavaScript 22
2.2.5 如何使用jQuery 22
2.3 在HTML 頁麵上添加JavaScript 23
2.4 在頁麵加載之後運行JavaScript 25
2.4.1 錯誤的方法(window.onload 事件) 26
2.4.2 冗長的方法(DOM) 26
2.4.3 簡單的方法(jQuery 方法) 27
2.5 變量與數據類型 28
2.5.1 變量 28
2.5.2 數據類型 32
2.6 條件語句 33
2.6.1 if 語句 33
2.6.2 比較運算符 34
2.6.3 在if 語句中進行多重布爾值檢查 35
2.6.4 else 和else if 語句 35
2.7 函數 36
2.7.1 創建函數 36
2.7.2 調用函數 37
2.8 對象 38
2.8.1 什麼是對象 38
2.8.2 創建和使用對象 38
2.9 數組 40
2.9.1 創建數組 40
2.9.2 訪問和修改數組 41
2.10 循環 41
2.11 定時器 43
2.11.1 設置一次性定時器 43
2.11.2 取消一次性定時器 43
2.11.3 設置重復定時器 43
2.11.4 取消重復定時器 44
2.12 DOM 44
2.12.1 HTML 網頁示例 44
2.12.2 使用純JavaScript 訪問DOM 45
2.12.3 使用jQuery 訪問DOM 46
2.12.4 操作DOM 46
2.13 小結 47
第3 章 Canvas 基礎知識 48
3.1 認識canvas 元素 48
3.2 2D 渲染上下文 49
3.2.1 坐標係統 49
3.2.2 訪問2D 渲染上下文 50
3.3 繪製基本圖形和綫條 51
3.3.1 綫條 53
3.3.2 圓形 54
3.4 樣式 58
3.5 繪製文本 62
3.6 擦除Canvas 65
3.7 使Canvas 填滿瀏覽器窗口 69
3.8 小結 71
第4 章 Canvas 高級功能 72
4.1 保存和恢復繪圖狀態 72
4.1.1 畫布繪圖狀態是什麼 72
4.1.2 保存繪圖狀態 73
4.1.3 恢復繪圖狀態 73
4.1.4 保存和恢復多個繪圖狀態 75
4.2 變形 76
4.2.1 平移 76
4.2.2 縮放 78
4.2.3 鏇轉 80
4.2.4 變換矩陣 82
4.3 閤成 85
4.3.1 全局阿爾法值 86
4.3.2 閤成操作 87
4.4 陰影 91
4.5 漸變 93
4.6 復雜路徑 96
4.7 將畫布導齣為圖像 100
4.8 小結 102
第5 章 處理圖像和視頻 103
5.1 加載圖像 103
5.2 調整和裁剪圖像 105
5.2.1 調整圖像大小 105
5.2.2 裁剪圖像 106
5.2.3 陰影 108
5.3 圖像變形 110
5.3.1 平移 110
5.3.2 鏇轉 111
5.3.3 縮放與翻轉 111
5.4 訪問像素值 113
5.5 從零繪製圖像 117
5.5.1 隨機繪製像素 119
5.5.2 創建馬賽剋效果 119
5.6 基本圖像效果 123
5.6.1 反轉顔色 123
5.6.2 灰度 124
5.6.3 像素化 125
5.7 視頻處理 127
5.7.1 創建HTML5 video 元素 127
5.7.2 使用HTML5 video API 128
5.7.3 設置畫布 129
5.8 小結 133
第6 章 製作動畫 134
6.1 畫布中的動畫 134
6.2 創建動畫循環 135
6.2.1 循環 135
6.2.2 更新、清除、繪製 137
6.3 記憶要繪製的形狀 138
6.3.1 錯誤的方法 138
6.3.2 正確的方法 139
6.3.3 隨機産生形狀 142
6.4 改變方嚮 143
6.5 圓周運動 144
6.5.1 三角函數 145
6.5.2 綜閤運用 148
6.6 反彈 150
6.7 小結 154
第7 章 實現高級動畫 155
7.1 物理常識 155
7.1.1 什麼是物理學 155
7.1.2 物理學對創建動畫有何作用 156
7.1.3 基本概念 156
7.1.4 牛頓運動定律 157
7.2 運用物理知識創建動畫 158
7.2.1 準備工作 158
7.2.2 速度 161
7.2.3 添加邊界 163
7.2.4 加速度 163
7.2.5 摩擦力 165
7.3 碰撞檢測 166
7.3.1 碰撞檢測 167
7.3.2 彈開物體 170
7.3.3 動量守恒 173
7.4 小結 175
第8 章 太空保齡球遊戲 176
8.1 遊戲概述 176
8.2 核心功能 177
8.2.1 構建HTML 代碼 177
8.2.2 美化界麵 180
8.2.3 編寫JavaScript 代碼 182
8.3 激活用戶界麵 183
8.4 創建遊戲對象 185
8.4.1 創建平颱 185
8.4.2 創建小行星 187
8.4.3 創建玩傢使用的小行星 190
8.4.4 更新UI 191
8.5 讓對象運動起來 191
8.6 檢測用戶交互 195
8.6.1 建立事件監聽器 195
8.6.2 選中玩傢使用的小行星 196
8.6.3 增加力度 197
8.6.4 讓玩傢使用的小行星動起來 198
8.6.5 可視化用戶輸入 199
8.7 重置player 200
8.8 玩傢獲勝 201
8.8.1 更新分數 201
8.8.2 從平颱上刪除小行星 202
8.9 小結 205
第9 章 躲避小行星遊戲 206
9.1 遊戲概述 206
9.2 核心功能 207
9.2.1 創建HTML 代碼 207
9.2.2 美化界麵 209
9.2.3 編寫JavaScript 代碼 211
9.3 創建遊戲對象 213
9.3.1 創建小行星 213
9.3.2 創建玩傢使用的火箭 215
9.4 檢測鍵盤輸入 216
9.4.1 鍵值 216
9.4.2 鍵盤事件 216
9.5 讓對象運動起來 218
9.6 假造橫嚮捲軸效果 223
9.6.1 循環利用小行星 223
9.6.2 添加邊界 223
9.6.3 讓玩傢保持連續移動 224
9.7 添加聲音 224
9.8 結束遊戲 226
9.8.1 計分係統 226
9.8.2 殺死玩傢 228
9.9 增加遊戲難度 230
9.10 小結 231
第10 章 未來的Canvas 232
10.1 Canvas 與SVG 232
10.1.1 可訪問性 233
10.1.2 位圖與矢量圖 233
10.2 Canvas 與Flash 234
10.2.1 JavaScript 開發人員可以藉鑒Flash 234
10.2.2 Canvas 沒有像Flash 那樣用戶友好的編輯器
235
10.3 Canvas 與性能 236
10.4 Canvas 遊戲和動畫庫 236
10.5 三維圖形 238
10.6 與外圍設備交互 239
10.7 用WebSocket 技術構建多人遊戲 240
10.8 靈感 241
10.8.1 Sketch Out 遊戲 241
10.8.2 Z-Type 遊戲 242
10.8.3 Sinuous 遊戲 242
10.9 小結和結束語 243
· · · · · · (
收起)