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