內容簡介
《HTML5 Canvas核心技術:圖形、動畫與遊戲開發》是HTML5 Canvas領域的標杆之作,也是迄今為止該領域內容全麵和深入的著作之一,是公認的經典、五星級暢銷書、資深技術專傢David Geary新力作。它不僅全麵講解瞭canvas元素的API,以及如何利用Canvas進行圖形繪製、動畫製作、物理效果模擬、碰撞檢測、遊戲開發、移動應用開發,還包含大量實例,可操作性極強。
《HTML5 Canvas核心技術:圖形、動畫與遊戲開發》共分11章。第1章介紹瞭canvas元素及如何在網絡應用程序中使用它;第2章深入研究瞭如何使用Canvas的API進行繪製;第3章告訴讀者如何繪製並操作Canvas中的文本;第4章專門講解圖像、圖像的操作及視頻處理;第5章介紹如何實現平滑的動畫效果;第6章講解如何用JavaScript語言來實現精靈;第7章展示瞭如何在動畫中模擬物理效果;第8章介紹瞭進行碰撞檢測所用的技術;第9章以一個簡單但是高效的遊戲引擎開始,提供瞭遊戲製作所需的全部支持功能;第10章討論瞭實現自定義控件的通用方法;第11章專門講述如何實現基於Canvas的手機應用程序。
目錄
譯者序
前言
第1章 基礎知識
1.1 canvas元素
1.1.1 canvas元素的大小與繪圖錶麵的大小
1.1.2 canvas元素的API
1.2 Canvas的繪圖環境
1.2.1 2d繪圖環境
1.2.2 Canvas狀態的保存與恢復
1.3 本書程序清單的規範格式
1.4 開始學習HTML5
1.4.1 規範
1.4.2 瀏覽器
1.4.3 控製颱與調試器
1.4.4 性能
1.5 基本的繪製操作
1.6 事件處理
1.6.1 鼠標事件
1.6.2 鍵盤事件
1.6.3 觸摸事件
1.7 繪製錶麵的保存與恢復
1.8 在Canvas中使用HTML元素
1.9 打印Canvas的內容
1.10 離屏canvas
1.11 基礎數學知識簡介
1.11.1 求解代數方程
1.11.2 三角函數
1.11.3 嚮量運算
1.11.4 根據計量單位來推導等式
1.12 總結
第2章 繪製
2.1 坐標係統
2.2 Canvas的繪製模型
2.3 矩形的繪製
2.4 顔色與透明度
2.5 漸變色與圖案
2.5.1 漸變色
2.5.2 圖案
2.6 陰影
2.7 路徑、描邊與填充
2.7.1 路徑與子路徑
2.7.2 剪紙效果
2.8 綫段
2.8.1 綫段與像素邊界
2.8.2 網格的繪製
2.8.3 坐標軸的繪製
2.8.4 橡皮筋式的綫條繪製
2.8.5 虛綫的繪製
2.8.6 通過擴展CanvasRenderingContext2D來繪製虛綫
2.8.7 綫段端點與連接點的繪製
2.9 圓弧與圓形的繪製
2.9.1 arc方法的用法
2.9.2 以橡皮筋式輔助綫來協助用戶畫圓
2.9.3 arcTo方法的用法
2.9.4 刻度儀錶盤的繪製
2.10 貝塞爾麯綫
2.10.1 二次方貝塞爾麯綫
2.10.2 三次方貝塞爾麯綫
2.11 多邊形的繪製
2.12 高級路徑操作
2.12.1 拖動多邊形對象
2.12.2 編輯貝塞爾麯綫
2.12.3 自動滾動網頁,使某段路徑所對應的元素顯示在視窗中
2.13 坐標變換
2.13.1 坐標係的平移、縮放與鏇轉
2.13.2 自定義的坐標變換
2.14 圖像閤成
2.15 剪輯區域
2.15.1 通過剪輯區域來擦除圖像
2.15.2 利用剪輯區域來製作伸縮式動畫
2.16 總結
第3章 文本
3.1 文本的描邊與填充
3.2 設置字型屬性
3.3 文本的定位
3.3.1 水平與垂直定位
3.3.2 將文本居中
3.3.3 文本的度量
3.3.4 繪製坐標軸旁邊的文本標簽
3.3.5 繪製數值儀錶盤周圍的文本標簽
3.3.6 在圓弧周圍繪製文本
3.4 實現文本編輯控件
3.4.1 指示文本輸入位置的光標
3.4.2 在Canvas中編輯文本
3.4.3 文本段的編輯
3.5 總結
第4章 圖像與視頻
4.1 圖像的繪製
4.1.1 在Canvas之中繪製圖像
4.1.2 drawImage()方法的用法
4.2 圖像的縮放
4.3 將一個Canvas繪製到另一個Canvas之中
4.4 離屏canvas
4.5 操作圖像的像素
4.5.1 獲取圖像數據
4.5.2 修改圖像數據
4.6 結閤剪輯區域來繪製圖像
4.7 以圖像製作動畫
4.8 圖像繪製的安全問題
4.9 性能
4.9.1 對比drawImage(HTMLImage)、drawImage(HTMLCanvas)與putImageData()的繪圖效率
4.9.2 在Canvas中繪製另一個Canvas與繪製普通圖像之間的對比;在繪製時縮放圖像與保持原樣之間的對比
4.9.3 遍曆圖像數據
4.10 放大鏡
4.10.1 使用離屏canvas
4.10.2 接受用戶從文件係統中拖放進來的圖像
4.11 視頻處理
4.11.1 視頻格式
4.11.2 在Canvas中播放視頻
4.11.3 視頻處理
4.12 總結
第5章 動畫
5.1 動畫循環
5.1.1 通過requestAnimationFrame()方法讓瀏覽器來自行決定幀速率
5.1.2 Internet Explorer瀏覽器對requestAnimationFrame()功能的實現
5.1.3 可移植於各瀏覽器平颱的動畫循環邏輯
5.2 幀速率的計算
5.3 以不同的幀速率來執行各種任務
5.4 恢復動畫背景
5.4.1 利用剪輯區域來處理動畫背景
5.4.2 利用圖塊復製技術來處理動畫背景
5.5 利用雙緩衝技術繪製動畫
5.6 基於時間的運動
5.7 背景的滾動
5.8 視差動畫
5.9 用戶手勢
5.10 定時動畫
5.10.1 秒錶
5.10.2 動畫計時器
5.11 動畫製作的最佳指導原則
5.12 總結
第6章 精靈
6.1 精靈概述
6.2 精靈繪製器
6.2.1 描邊與填充繪製器
6.2.2 圖像繪製器
6.2.3 精靈錶繪製器
6.3 精靈對象的行為
6.3.1 將多個行為組閤起來
6.3.2 限時觸發的行為
6.4 精靈動畫製作器
6.5 基於精靈的動畫循環
6.6 總結
第7章 物理效果
7.1 重力
7.1.1 物體的下落
7.1.2 拋射體彈道運動
7.1.3 鍾擺運動
7.2 時間軸扭麯
7.3 時間軸扭麯函數
7.4 時間軸扭麯運動
7.4.1 沒有加速度的綫性運動
7.4.2 逐漸加速的緩入運動
7.4.3 逐漸減速的緩齣運動
7.4.4 緩入緩齣運動
7.4.5 彈簧運動與彈跳運動
7.5 以扭麯後的幀速率播放動畫
7.6 總結
第8章 碰撞檢測
8.1 外接圖形判彆法
8.1.1 外接矩形判彆法
8.1.2 外接圓判彆法
8.2 碰到牆壁即被彈迴的小球
8.3 光綫投射法
8.4 分離軸定理(SAT)與最小平移嚮量(MTV)
8.4.1 使用分割軸定理檢測碰撞
8.4.2 根據最小平移嚮量應對碰撞
8.5 總結
第9章 遊戲開發
9.1 遊戲引擎
9.1.1 遊戲循環
9.1.2 加載圖像
9.1.3 同時播放多個聲音
9.1.4 鍵盤事件
9.1.5 高分榜
9.1.6 遊戲引擎源代碼
9.2 遊戲原型
9.2.1 遊戲原型程序的HTML代碼
9.2.2 原型程序的遊戲循環
9.2.3 遊戲原型程序的加載畫麵
9.2.4 暫停畫麵
9.2.5 按鍵監聽器
9.2.6 遊戲結束及高分榜
9.3 彈珠颱遊戲
9.3.1 遊戲循環彈珠
9.3.2 彈珠精靈
9.3.3 重力與摩擦力
9.3.4 彈闆的移動
9.3.5 處理鍵盤事件
9.3.6 碰撞檢測
9.4 總結
第10章 自定義控件
10.1 圓角矩形控件
10.2 進度條控件
10.3 滑動條控件
10.4 圖像查看器控件
10.5 總結
第11章 移動平颱開發
11.1 移動設備的視窗
11.2 媒體特徵查詢技術
11.2.1 媒體特徵查詢與CSS
11.2.2 用JavaScript程序應對媒體特徵的變化
11.3 觸摸事件
11.3.1 TouchEvent對象
11.3.2 TouchList對象
11.3.3 Touch對象
11.3.4 同時支持觸摸事件與鼠標事件
11.3.5 手指縮放
11.4 iOS5
11.4.1 應用程序圖標及啓動畫麵
11.4.2 利用媒體特徵查詢技術設置iOS5係統的應用程序圖標及啓動畫麵
11.4.3 以不帶瀏覽器飾件的全屏模式運行應用程序
11.4.4 應用程序的狀態欄
11.5 虛擬鍵盤
11.6 總結
前言/序言
HTML5 Canvas核心技術:圖形、動畫與遊戲開發 下載 mobi epub pdf txt 電子書 格式