出版時間:2012-5 出版社:機械工業(yè)出版社 作者:威廉姆斯 頁數(shù):202
Tag標簽:無
前言
前言: 筆者撰寫本書是為了解一時之癢,同時也是由于看到了目前新生的HTML5游戲社區(qū)的發(fā)展?jié)摿Α9P者希望引領讀者,通過最佳實踐遨游陌生的HTML5領域,并掌握Canvas、WebGL和SVG這些技術?! ¢_發(fā)人員已經認識到HTML5并不僅僅是一個玩具。他們驚喜地發(fā)現(xiàn):HTML5擁有和精美的桌面應用程序一樣豐富的內容——例如,雙緩沖區(qū)處理、硬件加速、無須插件支持的瀏覽器內置緩存等。而此前,部分開發(fā)人員還認為,只有Flash技術才能提供類似支持??梢钥吹揭环N有趣的轉變,即由“一切使用Flash”到“僅當使用HTML5無法實現(xiàn)時才使用Flash”的技術趨勢?! ≡诠P者寫這本書時,HTML5游戲編程環(huán)境已經發(fā)展得相當成熟。筆者相信這項技術將會繼續(xù)發(fā)展下去,同時期待它將來取得更大進展。 本書特點 本書內容涵蓋“寬泛”意義上的HTML5技術,這意味著包括HTML5規(guī)范、WebGL、SVG和JavaScript,因為它們均與游戲編程相關。書中各章討論了實現(xiàn)流行游戲效果背后的數(shù)學內容,并先向讀者說明努力的方向,然后再展示一些代碼示例。對于那些習慣使用JavaScript編程的讀者而言,本書有一章講解創(chuàng)建游戲時使用的其他語言,包括在JavaScript引擎中直接運行的語言,能夠被編譯成JavaScript的語言,以及二者混合的語言。近幾個月,服務器端JavaScript席卷了編程世界,這意味著在構建游戲過程中增加了一個額外靈活的層次。程序邏輯仍然從自包含的客戶端實例開始,之后在基本不需要修改代碼的情況下,由服務器端實例進行擴展。本書結尾部分講解了發(fā)布游戲的具體途徑和方法。開發(fā)人員有多種游戲引擎和開發(fā)庫可選擇。在處理數(shù)據(jù)過程中,書中涉及的所有開發(fā)庫都具有通用性,讀者可通過本書輕松掌握這些知識,并將其用于其他庫中。本書不講解WebGL的底層細節(jié),而是選擇使用高層庫的方式按需訪問底層API。本書的目的是使讀者迅速上手,而不是講解關于WebGL的所有內容,那需要一整本書的篇章才能講完?! ”緯x者對象 本書為那些愿意學習或使用HTML5及相關Web技術開發(fā)交互式游戲的應用開發(fā)者而編寫。本書假設讀者具有一些編程語言知識和基本的數(shù)學知識?! ”緯a示例及練習 讀者可以訪問http://www.informit.com/title/9780321767363下載各章的代碼示例和練習答案。另外,也可以訪問Github網站https://github.com/jwill/html5-game-book找到代碼示例?! ≈轮x 對于本書而言,我有很多人要感謝。首先是在本書出版過程中提供了無法估量的貢獻的Pearson團隊(包括Trina MacDonald、Songlin Qiu和Olivia Basegio),他們使本書更棒,我認為他們成功做到了。撰寫本書時,主題在迅速地變化發(fā)展,技術編輯Romin Irani、Pascal Rettig和Robert Schwentker對市場走向進行了特別的考量,我很高興與他們合作,他們分享我的激情,給予我快速、明確的反饋,驗證我的猜想并使我修正偏離的方向。最后,我要感謝的是我的家人和朋友,他們很有耐心而沒有怨言,當我疲憊的時候讓我放松,讓我休息。
內容概要
《HTML5游戲開發(fā)實踐指南》以實踐為導向,全面講解了HTML5游戲開發(fā)所需掌握的各種最新技術、可以使用的各種工具和框架,以及開發(fā)的思維和方法,是系統(tǒng)學習HTML5游戲開發(fā)的最佳選擇之一。
本書內容全面而且極具前瞻性,不僅重點闡述了HTML5和JavaScript的核心技術,而且還仔細講解了WebGL、SVG、ProcessingJS、Inkscape、RaphalJS、PhoneGap、SGF、CoffeeScript和Node.js等與HTML5開發(fā)相關的各種技術、工具、框架、類庫等的功能和使用方法,為HTML5應用開發(fā)者描繪了一幅完整的技術全景圖。更為重要的是,它還深入講解了HTML5游戲的運作機制、游戲開發(fā)與設計的思維和方法、游戲的性能優(yōu)化方法,及其在各種平臺上的發(fā)布方法。本書的實戰(zhàn)性和可操作性也非常強,包含大量示例,有助于讀者對理論知識進行融會貫通。
全書一共11章:第1章詳細講解了Canvas等HTML5的核心技術;第2章首先介紹了如何搭建一個完善的HTML5開發(fā)環(huán)境,然后講解了如何部署HTML5應用開發(fā)需要的Web服務器端工具、瀏覽器端工具以及HTML5工具;第3章講解了JavaScript的核心技術以及jQuery框架的使用;第4章探討了游戲的設計思路和游戲的運行機制;第5~8章以實例的方式講解了如何通過Canvas標簽、SVG、RaphalJS、WebGL、Three.js、GWT、CoffeeScript等最新流行的技術和框架來開發(fā)游戲;第9章講解了如何利用現(xiàn)今流行的Node.js來構建多人游戲服務器;第10章講解了在Android、iOS、Windows
Phone等主流移動平臺上開發(fā)HTML5游戲的核心技術和PhoneGap等移動開發(fā)框架;第11章探討了HTML5游戲的資源優(yōu)化以及在各種平臺的完整發(fā)布過程。
作者簡介
James
L.Williams是硅谷一名經驗豐富的開發(fā)專家,經常在世界各地講解有關Java、用戶界面和游戲編程方面的內容。他發(fā)明了SwingXBuilder(一種利用SwingX組件創(chuàng)建用戶界面的特定域語言),同時,他還是Griffon項目(一個使用Groovy構建富應用程序的框架)的聯(lián)合創(chuàng)始人之一。由他和他的團隊構思、編碼并實現(xiàn)了運行在SXSW上的教練車產品,因此在StartupBus
2011大賽中獲獎。
書籍目錄
譯者序
前言
第1章 HTML5概述
1.1 超越基本的HTML
1.1.1 JavaScript
1.1.2 AJAX2
1.2 填補空白
1.2.1 Google Gears
1.2.2 Chrome Frame
1.3 使用WebSockets和Web Workers編程
1.3.1 WebSockets
1.3.2 Web Workers
1.4 應用程序緩存
1.5 數(shù)據(jù)庫API
1.5.1 WebSQL API
1.5.2 IndexedDB API
1.6 Web Storage
1.7 定位
1.8 提示用戶消息
1.8.1 為顯示提示請求權限
1.8.2 創(chuàng)建提示
1.8.3 與提示信息實現(xiàn)交互
1.9 媒體元素
1.9.1 控制媒體播放
1.9.2 處理不支持的格式
1.10 繪畫API
1.10.1 Canvas
1.10.2 SVG
1.10.3 WebGL
1.11 使用Microdata傳達信息
1.12 小結
第2章 配置開發(fā)環(huán)境
2.1 開發(fā)工具
2.1.1 安裝Java
2.1.2 安裝Eclipse IDE和Google插件
2.1.3 Google Web Toolkit
2.2 Web服務器端工具和選項
2.2.1 Google App Engine
2.2.2 Opera Unite
2.2.3 Node.js和RingoJS
2.3 瀏覽器端工具
2.3.1 Chrome開發(fā)人員工具
2.3.2 Chrome擴展程序
2.3.3 Safari開發(fā)人員工具
2.3.4 Firebug
2.4 HTML5工具
2.4.1 ProcessingJS
2.4.2 Inkscape
2.4.3 SVG-edit
2.4.4 Raphal
2.5 3D建模工具
2.6 小結
第3章 JavaScript概述
3.1 什么是JavaScript
3.1.1 JavaScript基本類型
3.1.2 理解算術運算符
3.1.3 理解JavaScript函數(shù)
3.1.4 first-class對象函數(shù)
3.1.5 比較運算符
3.2 條件和循環(huán)語句
3.2.1 使用循環(huán)控制程序流
3.2.2 使用setTimeout和setInterval函數(shù)實現(xiàn)延遲執(zhí)行
3.3 使用繼承和多態(tài)創(chuàng)建復雜對象
3.4 JQuery簡介
3.4.1 使用選擇器操作DOM元素
3.4.2 JQuery事件
3.4.3 JQuery中的AJAX41
3.4.4 跨站點腳本
3.5 JSON:另一種JavaScript格式
3.6 瀏覽器外的JavaScript
3.6.1 移動平臺
3.6.2 將JavaScript作為中間語言
3.6.3 桌面應用中的JavaScript
3.7 服務器端JavaScript
3.8 小結
3.9 練習
第4章 游戲運行機制
4.1 游戲設計
4.1.1 撰寫基本設計文檔
4.1.2 確定游戲類型
4.1.3 游戲循環(huán)
4.1.4 獲取用戶輸入
4.2 使用高級數(shù)據(jù)結構實現(xiàn)游戲對象
4.2.1 使用Set構建唯一數(shù)據(jù)列表
4.2.2 使用鏈表創(chuàng)建對象圖
4.3 理解SGF中的API
4.3.1 核心API
4.3.2 組件API
4.3.3 資源API及網絡API
4.4 使用SGF構建乒乓球游戲
4.4.1 設置應用程序
4.4.2 繪制游戲配件
4.5 碰撞檢測和響應
4.5.1 理解牛頓三大定律
4.5.2 讓球動起來
4.5.3 高級碰撞檢測和粒子系統(tǒng)
4.6 通過人工智能增加游戲難度
4.6.1 將人工智能應用到乒乓球游戲
4.6.2 將人工智能應用到井字棋游戲
4.7 小結
4.8 練習
第5章 使用Canvas標簽構建游戲
5.1 Canvas基礎
5.1.1 繪制路徑
5.1.2 繪制井字棋游戲的棋子
5.2 使用變換繪制Canvas中的對象
5.2.1 變換規(guī)則
5.2.2 保存和恢復Canvas繪圖狀態(tài)
5.3 在Canvas中使用圖片
5.3.1 使用Data URI訪問圖片
5.3.2 使用Spritesheets訪問圖片
5.3.3 在Canvas中繪制圖片
5.4 使用Trident.js創(chuàng)建動畫對象
5.4.1 創(chuàng)建時間線
5.4.2 使用關鍵幀實現(xiàn)動畫
5.4.3 使用緩沖函數(shù)創(chuàng)建非線性時間線
5.4.4 使用Spritesheets創(chuàng)建游戲對象動畫
5.5 在2D空間模擬3D
5.5.1 透視投影
5.5.2 視差
5.5.3 使用JavaScript創(chuàng)建視差效果
5.6 創(chuàng)建Copy Me游戲
5.6.1 繪制游戲對象
5.6.2 創(chuàng)建游戲音調
5.6.3 在瀏覽器中播放MIDI文件
5.6.4 同時播放多個音頻
5.6.5 順序播放音頻
5.6.6 繪制游戲文本
5.6.7 使用CSS設置文本字體
5.7 小結
5.8 練習
第6章 使用SVG和RaphalJS構建游戲
6.1 SVG概述
6.2 使用RaphalJS
6.2.1 設置游戲開發(fā)環(huán)境
6.2.2 創(chuàng)建游戲板
6.2.3 繪制游戲文本
6.3 自定義字體
6.3.1 設置顏色
6.3.2 加載游戲資源
6.3.3 將SVG文件轉換成位圖
6.4 創(chuàng)建游戲類
6.4.1 洗牌
6.4.2 繪制及卡片動畫
6.5 制作高級動畫
6.5.1 路徑
6.5.2 moveto和lineto
6.5.3 curveto
6.5.4 從SVG文件中導出路徑
6.5.5 在路徑中使用動畫
6.6 使用插件擴展Raphal
6.6.1 添加函數(shù)
6.6.2 SVG濾鏡
6.7 權衡速度
6.8 小結
6.9 練習
第7章 使用WebGL和Three.js構建游戲
第8章 不使用JavaScript構建游戲
第9章 構建多人游戲服務器
第10章 開發(fā)移動游戲
第11章 游戲發(fā)布
章節(jié)摘錄
第1章 HTML5概述 HTML5是HTML下一版本的規(guī)范草案,它突破了其前身,即HTML4 和XHTML技術。在HTML5中移除了部分元素,同時HTML5也不再基于舊的文本標記標準SGML。HTML5比HTML4在錯誤語法方面具有更好的兼容性。同時,還允許不同瀏覽器以相同方式解析和展示格式錯誤的文檔。這個版本的HTML增加了許多值得注意的內容,例如,內建原生圖片支持以及視聽元素。本章講解HTML5的新增特性和相關的JavaScript API?! ?.1 超越基本的HTML Tim Berners-Lee發(fā)明的HTML(Hypertext Markup Language,超文本標記語言)從1990年至今已有相當長一段歷史。雖然所有的進步對于推動標準前進都至關重要,但筆者最感興趣的是1996年出現(xiàn)的JavaScript和2005年出現(xiàn)的AJAX。這些新特性使得Web頁面,從一個表示靜態(tài)單向數(shù)據(jù)的媒體(例如,報紙和圖書)轉變?yōu)橐粋€允許雙向交流的媒體。 1.1.1 JavaScript JavaScript(前身為LiveScript,正式名為ECMAScript)由Netscape公司開發(fā)的瀏覽器腳本語言發(fā)展而來。它是一種基于原型的弱類型腳本語言,具有面向對象或者面向函數(shù)的特性。盡管名為JavaScript,也繼承了Java語言的某些方面,但是它與C語言更為相似?! ∽鳛镾un Microsystems公司(現(xiàn)為Oracle公司)和Netscape公司之間,關于推廣腳本語言和Java Applet技術市場協(xié)議的一部分,該語言被重命名為JavaScript。JavaScript語言廣泛用于編寫客戶端Web頁面腳本。同時,由于Sun公司已將“JavaScript”名稱注冊成為商標,所以微軟公司將發(fā)布的與其兼容的腳本語言命名為JScript,并對其添加了一些新內容,并進行了一些修改。 ……
編輯推薦
全面講解HTML 5游戲開發(fā)所需掌握的各種最新技術、工具和框架,以及開發(fā)的思維和方法;包含應用程序學習示例的整個開發(fā)過程,具有極強的實戰(zhàn)性和可操作性。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載