出版時(shí)間:2012-8 出版社:電子工業(yè)出版社 作者:褚尚軍
Tag標(biāo)簽:無
內(nèi)容概要
本書詳細(xì)講解了Android游戲開發(fā)技術(shù)的基本知識(shí)。本書內(nèi)容新穎、知識(shí)全面、講解詳細(xì),全書共分18章,第1章講解了Android系統(tǒng)的基本知識(shí);第2章講解了在進(jìn)行Android開發(fā)之前要做的工作;第3章講解了Android游戲開發(fā)的基礎(chǔ)知識(shí);第4章講解了Graphics繪圖的基本知識(shí);第5章講解了OpenGL
ES的基礎(chǔ)知識(shí);第6章講解了紋理映射的基本知識(shí);第7章講解了繪制不同的三維形狀的基本知識(shí);第8章講解了坐標(biāo)變換和混合的基本知識(shí);第9章講解了OpenGL
ES進(jìn)階的基本知識(shí);第10章講解了讓游戲和網(wǎng)絡(luò)接軌的基本知識(shí);第11章講解了音頻開發(fā)應(yīng)用的基本知識(shí);第12章講解了游戲中的數(shù)學(xué)和物理的基本知識(shí);第13章講解了傳感器的基本知識(shí);第14章講解了人工智能的基本知識(shí);第15章講解了開發(fā)益智類游戲——魔塔游戲的基本知識(shí);第16章講解了開發(fā)體育類游戲——激情投籃的基本流程;第17章講解了開發(fā)棋牌類游戲——象棋的基本過程;第18章講解了開發(fā)射擊類游戲——搶灘登陸的基本過程。本書面向Android程序開發(fā)用戶,既可以作為初學(xué)者的參考資料,也可以作為向此領(lǐng)域發(fā)展的程序員的參考用書。
書籍目錄
第1章 Android概述1
1.1 智能手機(jī)世界1
1.1.1 何謂智能手機(jī)1
1.1.2 主流智能手機(jī)系統(tǒng)2
1.2 蓬勃發(fā)展的手機(jī)游戲產(chǎn)業(yè)2
1.3 Android的巨大優(yōu)勢(shì)2
1.4 搭建Android應(yīng)用開發(fā)環(huán)境3
1.4.1 安裝Android SDK的系統(tǒng)
要求3
1.4.2 安裝JDK、Eclipse、
Android SDK3
1.4.3 設(shè)定Android SDK Home13
1.4.4 驗(yàn)證開發(fā)環(huán)境13
1.4.5 常見的幾個(gè)問題15
1.5 Android模擬器19
1.5.1 Android模擬器簡(jiǎn)介19
1.5.2 模擬器和真機(jī)究竟有何區(qū)別19
1.5.3 創(chuàng)建Android虛擬設(shè)備19
1.5.4 模擬器總結(jié)21
第2章 準(zhǔn)備工作24
2.1 簡(jiǎn)析Android安裝文件24
2.1.1 Android SDK目錄結(jié)構(gòu)24
2.1.2 android.jar及內(nèi)部結(jié)構(gòu)24
2.1.3 閱讀SDK文檔需要技巧26
2.1.4 不簡(jiǎn)單的SDK工具27
2.2 實(shí)例教學(xué)28
2.3 Android系統(tǒng)架構(gòu)剖析32
2.3.1 Android體系結(jié)構(gòu)介紹32
2.3.2 Android應(yīng)用工程文件
組成35
2.3.3 應(yīng)用程序的生命周期37
第3章 Android游戲開發(fā)基礎(chǔ)40
3.1 游戲的類型40
3.1.1 ACT動(dòng)作游戲40
3.1.2 FTG格斗游戲41
3.1.3 STG射擊類游戲41
3.1.4 FPS第一人稱視角射擊
游戲41
3.1.5 SLG策略游戲42
3.1.6 RTS游戲42
3.1.7 RTT游戲42
3.1.8 RPG角色扮演類游戲42
3.1.9 AVG冒險(xiǎn)游戲43
3.1.10 SIM游戲44
3.1.11 SPG競(jìng)技類游戲44
3.1.12 RAC游戲44
3.1.13 PUZ益智游戲44
3.1.14 MUG音樂游戲45
3.1.15 ETC游戲45
3.2 游戲開發(fā)流程45
3.3 五種數(shù)據(jù)存儲(chǔ)方式47
3.3.1 最容易掌握的
SharedPreferences存儲(chǔ)47
3.3.2 文件存儲(chǔ)49
3.3.3 最常用的SQLite存儲(chǔ)50
3.3.4 重要的ContentProvider
存儲(chǔ)56
3.3.5 網(wǎng)絡(luò)存儲(chǔ)60
3.4 I/O文件操作61
3.4.1 流62
3.4.2 加快I/O操作效率66
3.4.3 文件處理69
3.4.4 訪問操作SD卡71
3.5 游戲框架79
3.5.1 View類79
3.5.2 SurfaceView類81
第4章 平面世界87
4.1 繪圖類Graphics87
4.2 設(shè)置文本顏色87
4.3 Paint類繪制圖像89
4.4 畫布類Canvas92
4.5 使用矩形類Rect94
4.6 使用非矢量圖形類
NinePatch98
4.7 使用圖形變換類Matrix98
4.8 使用位圖操作類Bitmap102
4.8.1 Bitmap類的功能102
4.8.2 Bitmap應(yīng)用實(shí)例104
4.9 使用I/O類BitmapFactory109
4.10 使用字體對(duì)象類Typeface111
4.11 使用渲染類Shader112
第5章 OpenGL ES基礎(chǔ)115
5.1 OpenGL ES介紹115
5.2 OpenGL ES的基本應(yīng)用116
5.2.1 使用點(diǎn)線法繪制三角形116
5.2.2 索引法繪制三角形122
5.2.3 頂點(diǎn)法繪制三角形127
5.3 實(shí)現(xiàn)投影效果129
5.3.1 正交投影129
5.3.2 透視投影130
5.3.3 實(shí)現(xiàn)投影效果130
5.4 實(shí)現(xiàn)光照效果134
5.4.1 光照基礎(chǔ)134
5.4.2 實(shí)例應(yīng)用—開啟/關(guān)閉
光照136
5.4.3 實(shí)例應(yīng)用—實(shí)現(xiàn)定位光
效果141
第6章 紋理映射147
6.1 紋理映射基礎(chǔ)147
6.1.1 紋理貼圖和紋理拉伸147
6.1.2 Texture Filter紋理過濾148
6.2 紋理映射應(yīng)用實(shí)例149
6.2.1 實(shí)現(xiàn)三角形紋理貼圖
效果149
6.2.2 實(shí)現(xiàn)地月模型效果153
6.2.3 實(shí)現(xiàn)紋理拉伸效果160
第7章 繪制不同的三維形狀165
7.1 繪制一個(gè)圓柱體165
7.2 繪制一個(gè)圓環(huán)172
7.3 繪制一個(gè)拋物面效果176
7.4 繪制一個(gè)螺旋面效果179
第8章 坐標(biāo)變換和混合184
8.1 實(shí)現(xiàn)坐標(biāo)變換184
8.1.1 坐標(biāo)變換基礎(chǔ)184
8.1.2 實(shí)現(xiàn)縮放變換184
8.1.3 實(shí)現(xiàn)平移變換189
8.2 使用Alpha混合技術(shù)191
8.2.1 基本知識(shí)191
8.2.2 實(shí)現(xiàn)簡(jiǎn)單混合192
8.2.3 實(shí)現(xiàn)光暈和云層效果196
8.2.4 實(shí)現(xiàn)濾光器效果201
第9章 OpenGL ES進(jìn)階207
9.1 實(shí)現(xiàn)攝像機(jī)和霧特效功能207
9.1.1 攝像機(jī)基礎(chǔ)207
9.1.2 霧特效基礎(chǔ)208
9.1.3 實(shí)現(xiàn)霧特效和攝像機(jī)
效果208
9.2 粒子系統(tǒng)219
9.2.1 粒子系統(tǒng)基礎(chǔ)219
9.2.2 實(shí)現(xiàn)粒子系統(tǒng)效果219
9.3 鏡像技術(shù)222
9.4 實(shí)現(xiàn)旗幟飄揚(yáng)效果226
第10章 讓游戲和網(wǎng)絡(luò)接軌229
10.1 Socket基礎(chǔ)229
10.1.1 TCP和UDP229
10.1.2 Socket基礎(chǔ)230
10.1.3 ServerSocket基礎(chǔ)231
10.1.4 Socket和ServerSocket
應(yīng)用232
10.1.5 幾個(gè)技巧236
10.2 HTTP基礎(chǔ)237
10.2.1 HTTP基礎(chǔ)237
10.2.2 Android中的HTTP238
10.3 網(wǎng)絡(luò)應(yīng)用243
10.3.1 使用Socket實(shí)現(xiàn)模擬器和
計(jì)算機(jī)的通信243
10.3.2 傳遞HTTP參數(shù)246
第11章 音頻開發(fā)應(yīng)用251
11.1 AudioManager類251
11.1.1 AudioManager基礎(chǔ)251
11.1.2 AudioManager基本應(yīng)用—
設(shè)置短信提示鈴聲254
11.2 為游戲設(shè)置背景音樂258
11.2.1 使用AudioTrack播放
音頻文件258
11.2.2 使用MediaPlayer播放
音頻文件261
11.2.3 使用SoundPool播放
音頻文件274
11.2.4 使用JetPlayer播放音頻
文件276
11.2.5 使用AudioEffect處理
音效277
11.3 使用Vibrator類實(shí)現(xiàn)振動(dòng)280
11.3.1 Vibrator類基礎(chǔ)280
11.3.2 使用Vibrator實(shí)現(xiàn)振動(dòng)
效果281
第12章 游戲中的數(shù)學(xué)和物理287
12.1 游戲中的數(shù)學(xué)287
12.1.1 坐標(biāo)系287
12.1.2 矢量(向量)290
12.2 游戲中的物理292
12.2.1 基本概念293
12.2.2 物理在游戲中的應(yīng)用293
12.3 物理碰撞299
12.3.1 幾個(gè)概念299
12.3.2 完全彈性碰撞300
12.3.3 有損失的碰撞304
12.4 碰撞檢測(cè)306
12.4.1 碰撞檢測(cè)基礎(chǔ)306
12.4.2 AABB邊界框307
第13章 傳感器316
13.1 Android傳感器系統(tǒng)的結(jié)構(gòu)316
13.2 傳感器開發(fā)工具318
13.3 各種傳感器321
13.3.1 光線傳感器322
13.3.2 加速度傳感器322
13.3.3 姿態(tài)傳感器325
13.3.4 距離傳感器328
13.4 傳感器總結(jié)328
第14章 人工智能331
14.1 人工智能介紹331
14.1.1 人工智能簡(jiǎn)介331
14.1.2 人工智能的兩種實(shí)現(xiàn)
方法332
14.1.3 游戲中的人工智能332
14.2 人工智能中的圖搜索334
14.2.1 深度優(yōu)先搜索—
DFS334
14.2.2 廣度優(yōu)先搜索—
BFS337
14.2.3 戴克斯特拉算法—
Dijkstra338
14.2.4 A*算法339
14.3 演示人工智能圖搜索算法347
第15章 益智類游戲——魔塔游戲364
15.1 魔塔簡(jiǎn)介364
15.1.1 游戲簡(jiǎn)介364
15.1.2 發(fā)展版本364
15.2 設(shè)計(jì)游戲框架365
15.2.1 設(shè)計(jì)界面視圖365
15.2.2 屏幕處理366
15.2.3 更新線程368
15.2.4 游戲界面顯示369
15.3 繪制處理370
15.3.1 繪制地圖370
15.3.2 繪制游戲主角372
15.3.3 繪制對(duì)話界面378
15.3.4 戰(zhàn)斗界面379
15.3.5 圖層管理器381
15.4 實(shí)現(xiàn)游戲音效385
第16章 體育類游戲——激情投籃387
16.1 籃球游戲介紹387
16.1.1 籃球游戲介紹387
16.1.2 游戲策劃387
16.1.3 策劃游戲388
16.1.4 準(zhǔn)備工作388
16.2
章節(jié)摘錄
版權(quán)頁: 插圖: (2)定位光 在自然世界中定向光與定位光是截然不同的,這正如太陽與燃燒的蠟燭之間的區(qū)別。但是,在OpenGL ES中,實(shí)現(xiàn)定向光與定位光的方法卻十分相似。 在OpenGL ES中通過方法來設(shè)定定位光,其參數(shù)和前面介紹的定向光類似,僅是params參數(shù)略有不同。 在定向光中,參數(shù)params的最后一個(gè)參數(shù)設(shè)定為0,而在定位光中,該參數(shù)設(shè)定為1。 在定向光中,參數(shù)params的前3個(gè)參數(shù)設(shè)定了光源的向量坐標(biāo),而在定位光中,這3個(gè)參數(shù)代表的是光源的位置。 在定向光中,光的方向?yàn)榻o定的坐標(biāo)點(diǎn)與原點(diǎn)之間的向量,所以params中的前3個(gè)值不能設(shè)置為“0,0,0”,而在定位光中,給出的是光源的位置坐標(biāo),所以params前3個(gè)值可以設(shè)置為“0,0,0”。 在方法glLightfv()qb,設(shè)置其余參數(shù)的方法與前面介紹的相同,在此不再贅述。 2.光源的顏色 顏色是光源的一種重要的屬性,在OpenGL ES中,允許把與顏色相關(guān)的3個(gè)不同參數(shù)GL AMBIENT、GL DIFFUSE和GL SPECULAR與任何特定的光源相關(guān)聯(lián)。 (1)GL AMBIENT環(huán)境光 AMBIENT表示環(huán)境光,代表一個(gè)特定的光源在場(chǎng)景中添加的環(huán)境光的RGBA強(qiáng)度。默認(rèn)情況下是不存在環(huán)境光的,因?yàn)镚L AMBIENT的默認(rèn)值是(0.0,0.0,0.0,1.0)。 在OpenGL ES中,通過方法來設(shè)定光源的環(huán)境光,各參數(shù)的具體說明如下所示。 light:該參數(shù)設(shè)定OpenGLES中的燈,用GL_LIGHT0~GL_LIGHT7分別表示8盞燈。 如果設(shè)置為GL_LIGHT0則表示glLightfv方法中其余的設(shè)置都是針對(duì)GL_LIGHT0的。 pname:被設(shè)置的光源的屬性是由pname定義的,對(duì)于環(huán)境光,設(shè)置為GL_AMBIENT。 params:此參數(shù)給出的是燈光顏色的R、G、B、A四個(gè)色彩通道的值,一般環(huán)境光設(shè)置的值均較小。 offset:偏移量,設(shè)置為0,表示第1個(gè)色彩通道的值在數(shù)組中的偏移量。 (2)GL_DIFFUSE散射光 因?yàn)樯⑸涔馐莵碜杂谀硞€(gè)方向的,所以如果散射光從正面照射物體表面,它看起來就顯得更亮一些,反之,如果它斜著從物體表面掠過,則看起來就顯得暗一些。但是當(dāng)散射光撞擊物體表面時(shí),它會(huì)向四面八方均勻地發(fā)散。不管從哪個(gè)方向看,散射光看上去總是一樣亮。來自某個(gè)特定位置或方向的任何光都很可能具有散射成分。 在OpenGL ES平臺(tái)中,可以通過方法來設(shè)定光源的散射光,各參數(shù)的具體說明如下所示。
編輯推薦
《Android游戲開發(fā)技術(shù)實(shí)戰(zhàn)詳解》面向Android程序開發(fā)用戶,既可以作為初學(xué)者的參考資料,也可以作為向此領(lǐng)域發(fā)展的程序員的參考用書。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
Android游戲開發(fā)技術(shù)實(shí)戰(zhàn)詳解 PDF格式下載