我所理解的Cocos2d-x

我所理解的Cocos2d-x 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
秦春林 著



點擊這裡下載
    

想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-11-21

類似圖書 點擊查看全場最低價


圖書介紹

齣版社: 電子工業齣版社
ISBN:9787121246258
版次:1
商品編碼:11567347
品牌:Broadview
包裝:平裝
開本:16開
齣版時間:2014-11-01
用紙:膠版紙
頁數:404
正文語種:中文


相關圖書





圖書描述

編輯推薦

  《我所理解的Cocos2d-x》完全基於Cocos2d-x3.0,深度剖析計算機圖形學,OpenGLES及遊戲引擎架構,全麵提升遊戲開發相關知識。

內容簡介

  《我所理解的Cocos2d-x》針對較新的 Cocos2d-x 3.x版本,介紹瞭Coco2d-x遊戲引擎的基本架構、渲染機製,以及各個子模塊的功能和原理,並結閤OpenGL ES圖形渲染管綫,深入探討瞭遊戲開發中涉及的相關圖形學的知識,內容包括:Cocos2d-x的基本架構及渲染機製、紋理相關的知識、OpenGL ES 2.0渲染管綫、計算機字體的繪製、多分辨率支持、事件分發、碰撞與物理引擎、遊戲對象模型架構、Genius-x開源框架、腳本在遊戲引擎中的架構等。《我所理解的Cocos2d-x》偏重講解每個知識模塊的概念及原理,使讀者能夠透過現象看到其背後的工作機製,所以本書在內容組織上並不是圍繞Cocos2d-x的接口使用來展開,而是按照通用遊戲引擎架構及圖形學的內容進行組織。
  《我所理解的Cocos2d-x》麵嚮中、高級開發者,可作為初級開發者進階的教程,也可作為高校遊戲引擎架構及圖形學相關專業的參考教材。

作者簡介

  秦春林,自大學開始自學編程,先後從事過工作流軟件,雲計算,Web等相關的工作。2011年開始進入遊戲開發領域,主持並移植瞭Cocos2d-x-for-XNA項目。喜歡技術分享,發起並組織瞭北京快樂技術沙龍,多次作為講師參與微軟,CSDN,51CTO以及9RIA等組織的各類技術培訓和講座。參與瞭手遊項目《天降》的開發,目前主要的興趣方嚮是計算機圖形學和遊戲引擎架構,緻力於用軟件技術豐富遊戲世界的錶現及品質。

目錄

第1章 全新的Cocos2d-x 3.0
1.1 Cocos2d-x 3.0的曆史意義
1.1.1 迴歸C++風格
1.1.2 更靈活的渲染架構
1.1.3 更自由的發展
1.2 Cocos2d-x 3.0的新特性
1.2.1 使用C++風格
1.2.2 跨平颱的Label
1.2.3 新的渲染係統
1.2.4 統一的消息分發
1.2.5 物理引擎集成
1.2.6 新的數據結構
1.2.7 其他
1.3 Cocos2d-x引擎展望
1.3.1 3D
1.3.2 Cocos Code IDE
1.4 本章小結

第2章 Cocos2d-x架構一瞥
2.1 Cocos2d-x引擎係統總覽
2.2 Cocos2d-x內存管理機製
2.2.1 C++顯式堆內存管理
2.2.2 C++ 11中的智能指針
2.2.3 為什麼不使用智能指針
2.2.4 垃圾迴收機製
2.2.5 Cocos2d-x內存管理機製
2.2.6 Cocos2d-x中的智能指針
2.2.7 怎樣進行內存管理
2.3 UI樹及運行時遊戲對象
2.3.1 位置與變換
2.3.2 坐標係
2.3.3 UI樹
2.3.4 UI元素與內存管理
2.4 應用程序架構
2.4.1 遊戲生命周期
2.4.2 窗口尺寸
2.4.3 場景管理
2.4.4 遊戲循環
2.5 實時更新遊戲對象
2.5.1 幀率
2.5.2 Scheduler
2.5.3 時間綫
2.5.4 邏輯更新優先級
2.5.5 性能問題
2.6 Cocos2d-x的主綫程
2.6.1 在主綫程中執行異步處理
2.6.2 紋理的異步加載
2.6.3 異步處理的單元測試
2.7 本章小結

第3章 OpenGL ES 2.0概覽
3.1 圖形處理器簡介
3.2 什麼是OpenGL ES
3.3 OpenGL ES 2.0渲染管綫
3.3.1 頂點數組
3.3.2 頂點著色器
3.3.3 圖元裝配
3.3.4 光柵化
3.3.5 片段著色器
3.3.6 片段測試
3.4 渲染管綫中的並行計算
3.5 構建高性能的渲染引擎
3.6 幀緩衝
3.7 本章小結

第4章 全新的繪製係統
4.1 新繪製係統的特點
4.2 繪製係統概覽
4.3 RenderCommand
4.4 RenderQueue
4.5 GroupCommand
4.6 Render
4.6.1 RenderCommand的排序
4.6.2 QuadCommand
4.7 元素的可見性
4.8 繪製的時機
4.9 示例:自定義RenderCommand
4.10 本章小結
......

精彩書摘

  第16章 運行時遊戲對象模型
  到目前為止,我們討論的所有內容都可以稱之為低階引擎係統,例如Renderer如何將網格繪製到屏幕上,紋理如何被使用,字體如何被繪製,如何從人體學接口設備獲取玩傢輸入信息,如何處理物體的碰撞,以及如何對物體執行動畫等。這些幾乎都是和遊戲性無關的一些基礎功能。
  當開始設計遊戲的時候,開發者麵對的往往是一個更上層的,可以稱之為遊戲性(Gameplay)基礎係統的高階引擎係統,例如怎樣錶示遊戲中的對象,怎樣組織它們的行為和狀態,設計師怎樣通過數據驅動來快速修改關卡及遊戲配置,怎樣高效有序地組織遊戲對象之間的邏輯更新等。這些筆者稱之為遊戲性架構(Gameplay Architecture),或者很多開發者稱之為遊戲架構。理論上,遊戲性架構的一些理論和實踐甚至可以和遊戲引擎無關。
  當然,遊戲性架構其實涉及很多內容,例如它可以包括運行時遊戲對象模型、關卡及串流、實時更新遊戲對象模型、事件分發及腳本係統等。本章將會聚焦於運行時遊戲對象模型,講述常見的幾種遊戲對象設計的概念、方式及優缺點。
  16.1 概述
  在所有遊戲性架構相關的內容中,運行時遊戲對象模型可能是最復雜的係統,並且不同的遊戲引擎呈現齣的差異極大。例如Unity3D提供的組件模型,虛幻引擎提供的麵嚮對象繼承的模型,其他一些遊戲例如《末日危城(Dungeon Siege)》則使用一種不同於兩者的基於數據驅動的遊戲對象模型。
  這些不同的遊戲對象模型之間呈現齣很大的設計思維及使用上的差異,但是它們往往都提供或者必須具備一些通用的功能,這些包括但不限於:
  (1)管理遊戲對象的創建及銷毀。遊戲中經常會動態創建各種遊戲對象,例如一個塔防遊戲會定時齣現一些小怪物,子彈在撞擊到目標時立即被銷毀等。許多遊戲引擎都提供一種統一的動態創建、銷毀遊戲對象的方式,並管理遊戲對象的內存及資源,例如第17章即將講述的Genius-x框架中使用createEntity()、removeEntity(entity)來動態創建和銷毀一個遊戲對象。但是在Cocos2d-x中卻不是通過統一的方式創建和銷毀遊戲對象,它使用每個Node子類自己的構造函數來創建,並使用一種特殊的方式管理內存(參見第2章)。
  (2)聯係底層遊戲引擎。每個遊戲對象要能夠通過某種方式訪問底層的遊戲引擎係統,例如能夠渲染三角形網格、執行碰撞檢測,對角色執行動畫等。在Unity3D引擎中,每個遊戲對象(GameObject)可以通過添加一個與底層引擎功能相關的組件(Componment)來訪問底層引擎係統。Cocos2d-x的Node類則直接集成瞭物理模擬、動畫、實時邏輯更新等接口。
  (3)實時模擬對象行為。遊戲是一個高度實時的係統,遊戲對象的狀態、行為在每一幀都可能會隨著時間發生變化,這需要一套高效的遊戲對象更新機製。對象可能需要以特定的邏輯次序進行更新。此外,除瞭邏輯次序,遊戲對象之間還可能存在依賴關係,需要按照一定的次序更新(關於遊戲對象更新的次序會在本章後麵講述)。
  (4)定義新遊戲對象類型。在開發過程中,隨著遊戲需求的改變和演進,遊戲對象模型必須有足夠的彈性,可以容易地加入新的對象類型。理想情況下,新的遊戲類型應可以完全用數據驅動的方式定義,但是在實際情況中,大部分新增遊戲類型都需要程序員的參與。在Genius-x框架中,新的不同行為的組閤類型可以通過修改數據文件來實現,而新的行為則可以通過腳本來實現,然後修改數據文件來添加新的行為。
  (5)唯一的對象標識符。遊戲世界可能會包含成百上韆的遊戲對象,在運行時必須能夠識彆和找到想要的對象,這意味著每種對象需要有某種唯一標識符。例如在Cocos2d-x 中可以通過給一個Node指定一個字符串名稱,然後通過字符串標識符查找一個遊戲對象。
  (6)遊戲對象查詢。除瞭上麵按遊戲唯一標識符查詢遊戲對象,遊戲性係統還需要一些更高級的查詢方式,例如找到某種類型的遊戲對象,或者某個範圍的敵人等。在麵嚮組件或者屬性的架構中,遊戲對象是以組件/屬性為單位存儲的,很容易查找具有某個屬性類型的遊戲對象組閤,並且這種查找遊戲對象的方式對數據驅動更友好,筆者稱之為麵嚮類型編程。
  除瞭上述提到的這些,運行時遊戲對象模型還包括有限狀態機,用於同一個網絡內的對象復製、對象序列化和持久性存檔等。
  ……

前言/序言

  我與Cocos2d-x結緣於2011年,那個時候我所在的公司OpenXLive與Cocos2d-x團隊閤作移植Cocos2d-x遊戲引擎到WP7平颱,它采用C#語言基於XNA來實現,我是該項目的負責人。然而不久,微軟就用支持C++原生語言的WP8替代瞭WP7,該項目也逐漸被開發者淡忘。沒想到三年後我卻會為Cocos2d-x寫一本書,這三年,我和Cocos2d-x都在成長。
  開源是我認為軟件最富魅力的部分,它給予我們閱讀和修改源代碼的自由。開源對人類和科技進步的貢獻是巨大的,如今,大多數軟件係統都有著各種各樣開源軟件的影子。開源代碼對技術人員的成長有著難以估量的價值,例如,沒有開源的Cocos2d-x,我就難以寫齣本書中的很多內容。
  本書定位為一本進階的書籍,它著重於講述Cocos2d-x引擎各個功能及組件背後的實現原理。因此,本書並沒有嚴格按照Cocos2d-x引擎本身的功能展開描述,而是從這些功能中抽象齣一些設計或者架構層麵的內容進行討論。例如本書沒有分彆講述精靈、地圖、粒子特效等的接口使用,而是從紋理、渲染方式等多個方麵來講述這些元素背後的工作機製;而OpenGL ES、物理引擎和腳本等內容也幾乎是可以脫離於Cocos2d-x進行學習和理解的。
  這就是本書標題的來源,也是本書與同類書籍在內容編排上的最大不同。我希望寫一本書,它可以讓讀者站在一個係統性的高度對遊戲引擎的一些架構設計及實現進行理解,從而不但提升和擴充自己的知識結構,更能夠在實際開發中去靈活解決各個層麵的技術問題。本書同時追求係統性和實踐性的平衡,例如對於紋理部分,除瞭總結紋理相關的所有知識,也通過一些示例來演示它在各個層麵的具體使用。
  本書共分18章。
  第1~4章介紹瞭Cocos2d-x引擎的基本架構及新的繪製係統。這部分內容包括:Cocos2d-x的內存管理機製,UI樹的遍曆及結構,應用程序的生命周期,遊戲循環的各個階段,以及在Cocos2d-x中驅動各個子係統進行邏輯更新的機製和工作原理。這部分也介紹瞭Cocos2d-x 3.x新的數據結構,並詳細描述瞭新的渲染係統。總之,在這一部分,讀者可以對Cocos2d-x的基本架構有比較係統的瞭解。
  第5~10章圍繞OpenGL ES圖形渲染管綫進行介紹。這部分從紋理講起,詳細講述瞭紋理的存儲格式、傳輸、縮放、壓縮及多重紋理等相關知識;第8章詳細講述瞭頂點數組的結構、頂點屬性的綁定及傳輸、著色器程序的編譯及鏈接,以及Cocos2d-x新的著色器子係統,並舉例在Cocos2d-x中使用著色器的流程和怎樣使用多重紋理。這部分也對頂點著色器和片段著色器兩個階段在圖形渲染管綫中的作用進行瞭詳細描述。
  第9、10章講述瞭OpenGL ES圖形渲染管綫的最後兩個階段:幀緩衝和片段操作,並以Cocos2d-x中對這兩個階段的應用RenderTexture和ClippingNode為例進行講解。這樣,讀者將對整個渲染管綫的每一個階段都能有所瞭解,並且能夠結閤Cocos2d-x中的使用去思考每一個階段的意義和作用,從而對圖形渲染管綫有更深刻的瞭解。這也是本書最具特色的部分。
  第10~15章講述瞭Cocos2d-x的一些子係統,包括事件分發、多分辨率支持、動畫係統及物理引擎整閤。其中物理引擎部分也是我比較喜歡的章節,這部分講述瞭一些通用的物理引擎的架構及其使用,以及怎樣和遊戲引擎進行整閤。
  第16~18章探討應該怎樣去設計和管理遊戲世界中的對象。第16章講述瞭常見的對象模型、組件模型、屬性模型之間的概念、區彆及優缺點;第17章則以屬性模型為例,講述瞭一個遊戲對象模型應該怎樣設計;第18章探討瞭時下最流行的腳本相關的內容,但是與僅僅討論腳本使用不同的是,我們站在一個遊戲引擎的高度去討論腳本的架構,這樣讀者甚至能設計自己的腳本模型。這一部分內容具有對前端架構設計的高度總結性與實踐性,不管是對經驗豐富的讀者還是初學者,相信都具有一定的啓發性。
  另外,本書在寫作之初並沒有構建齣整本書的內容結構,在寫前麵的章節時我甚至不知道最後幾章的內容和結構會是怎樣的。在開始寫每一章的時候,我不會首先去給自己描繪一個目錄結構,而是首先把所有相關的內容列齣來,如果之中有我不熟悉的內容,或者有Cocos2d-x以外的一些知識,我則會首先停下寫作去把這些內容整理齣來。例如關於ECS部分的內容就是基於Cocos2d-x社區的一些討論,我花瞭很多時間去學習和理解。當最後所有相關的內容整理為一個列錶時,我就知道該怎麼去寫作這部分的內容。因此,在這本書的目錄結構中,讀者找不到任何同類書籍類似的內容結構,因為這完全是基於個人的理解及知識結構體係去寫作的一本書。
  所以,對我而言這本書還有一個有意義的目標,我希望透過這樣的方式去探討一種係統性的學習方法。當你開始學習某個知識點時,不要把自己限定在該知識點處,而是首先從該知識點進行適當的擴展,列齣該知識點相關的所有內容,再逐個深入學習和研究細節,最後反過來整理該知識點的結構體係。這樣不僅能夠更深入地學習該知識點,還能夠延伸知識的廣度,所以本書有大量超齣Cocos2d-x以外的內容,這些內容又是與Cocos2d-x緊密相關的。希望讀者在閱讀過程中能夠感受到這樣一種寫作風格和方法。
  本書是一本進階類書籍,閱讀本書,你需要對Cocos2d-x和C++有基本的瞭解。如果你是一名新手,可以首先閱讀同類書籍中相對比較入門的書籍,否則本書的一些章節可能會給你造成一定的睏惑。
  學習知識最好的方法永遠是多讀幾遍,書中關於OpenGL ES和遊戲對象模型部分的內容可能需要多讀幾次纔能更加深入地理解相關的概念。當然,如果你在閱讀過程中遇到什麼障礙,隨時可以通過電子郵件或者我的博客等多種方式和我進行探討。
  本書可以作為Cocos2d-x開發學習的書籍,也可以作為單獨的OpenGL ES相關的教材,遊戲對象模型部分的內容也可以作為設計遊戲引擎架構的參考資料。本書也可以作為高校遊戲及圖形學相關專業的參考教程。
  最後,由於個人經驗有限、思維有限,書中難免會齣現一些錯誤和疏漏。真誠地希望讀者可以將這些錯誤的地方反饋給齣版社,我們會及時地列齣勘誤,以幫助更多的讀者更好地學習。
  秦春林
  2014年7月25日
我所理解的Cocos2d-x 下載 mobi epub pdf txt 電子書 格式

我所理解的Cocos2d-x mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

我所理解的Cocos2d-x 下載 mobi pdf epub txt 電子書 格式 2024

我所理解的Cocos2d-x 下載 mobi epub pdf 電子書
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

這是我想看的書

評分

內容還沒看,書質量一般

評分

不錯的一本書

評分

有一定基礎的人看這本書還不錯

評分

京東商城就是速度快啊

評分

書非常好

評分

不知道為什麼書的邊緣有點髒

評分

書保存還可以,乾淨整潔,還沒看,希望有幫助

評分

這本書算是最近並且實用的瞭,不錯

類似圖書 點擊查看全場最低價

我所理解的Cocos2d-x mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有