注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)游戲設(shè)計(jì)J2ME手機(jī)游戲編程入門

J2ME手機(jī)游戲編程入門

J2ME手機(jī)游戲編程入門

定 價(jià):¥49.00

作 者: (美)莫尼遜|譯者;李強(qiáng)譯
出版社: 人民郵電出版社
叢編項(xiàng): 移動(dòng)開發(fā)系列叢書
標(biāo) 簽: J2ME

ISBN: 9787115135278 出版時(shí)間: 2005-07-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 346 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  內(nèi)容提要:本書幫助讀者掌握如何使用J2ME開始手機(jī)游戲開發(fā)。全書分5個(gè)部分19章,另有3個(gè)附錄。第一部分是前3章,介紹手機(jī)游戲開發(fā)的基礎(chǔ)知識(shí)以及如何使用Java和J2MEWirelessToolkit創(chuàng)建一個(gè)手機(jī)游戲。第二部分是第4章到第9章,介紹了如何為手機(jī)游戲繪制圖形和圖像,還詳細(xì)敘述了實(shí)例游戲Henway的開發(fā)過(guò)程。第三部分包括第10章到第13章,介紹了游戲圖層和人工智能基礎(chǔ),開發(fā)了另一個(gè)完整的游戲HighSeas。第四部分是第14章到第16章,介紹了如何實(shí)現(xiàn)手機(jī)無(wú)線網(wǎng)絡(luò)功能,并開發(fā)了網(wǎng)絡(luò)游戲Connect4。最后一部分是第17章到第19章,介紹了如何優(yōu)化游戲代碼以及如何保存最高得分記錄,還開發(fā)了完整的SpaceOut游戲。附錄部分提供了手機(jī)游戲編程的有用的參考資料。隨書光盤中包含了本書中所有的實(shí)例代碼以及為沒(méi)有Java基礎(chǔ)的讀者準(zhǔn)備的Java編程教程。本書適合希望學(xué)習(xí)J2ME手機(jī)游戲編程的讀者閱讀,也可作為J2ME手機(jī)游戲編程的培訓(xùn)教材?!禞2ME手機(jī)游戲編程入門》教你如何設(shè)計(jì)和構(gòu)建自己的手機(jī)游戲。本書并不講述枯燥的編程理論,而是引導(dǎo)讀者開發(fā)一些即學(xué)即用的游戲?qū)嵗?。這些實(shí)例可以擴(kuò)展和重用以構(gòu)建不同類型的游戲。本書詳細(xì)地說(shuō)明了4個(gè)完整游戲的開發(fā)過(guò)程,并提供了示例代碼。掌握了書中的知識(shí),你就可以開始自己的游戲開發(fā)項(xiàng)目!

作者簡(jiǎn)介

  MichaelMorrison是一個(gè)作家、開發(fā)者、玩具發(fā)明者,以及很多計(jì)算機(jī)技術(shù)圖書和Web交互課程的作者,他的主要職業(yè)是作家和自由職業(yè)者,Michael還是StalefishLabs公司的富有創(chuàng)造性的領(lǐng)導(dǎo)。StalefishLabs公司目前在開發(fā)一系列的手機(jī)運(yùn)動(dòng)類游戲,欲知詳情可以訪問(wèn)Http://www.talltalesgame.com/。除了熱衷于計(jì)算機(jī)、打曲棍球、溜冰板、和妻子一同看電影外,Michael還喜歡在魚塘釣魚。李強(qiáng),國(guó)內(nèi)IT公司項(xiàng)目經(jīng)理,有數(shù)年項(xiàng)目開發(fā)經(jīng)驗(yàn),熟悉C++、Java等編程語(yǔ)言,愛好電腦游戲和手機(jī)游戲。主要譯作有《思科網(wǎng)絡(luò)技術(shù)學(xué)院教程:Java編程基礎(chǔ)》和《計(jì)算機(jī)網(wǎng)絡(luò)第一階》。

圖書目錄

第1章  發(fā)展中的游戲 3
1.1  移動(dòng)游戲的本質(zhì) 3
1.1.1  第一款手機(jī)游戲 4
1.1.2  手機(jī)游戲市場(chǎng) 5
1.1.3  手機(jī)游戲的文化 5
1.1.4  手機(jī)游戲的前沿 6
1.2  認(rèn)識(shí)移動(dòng)平臺(tái) 8
1.2.1  Java 2 Micro Edition,J2ME 8
1.2.2  Binary Runtime Environment
for Wireless,BREW 9
1.2.3  Symbian 9
1.2.4  Windows Mobile Smartphone 10
1.3  Java作為手機(jī)游戲平臺(tái) 10
1.3.1  什么是Java 10
1.3.2  為什么選擇Java 11
1.3.3  Java和手機(jī)編程 11
1.4  J2ME基礎(chǔ)簡(jiǎn)介 13
1.4.1  Configuration和CLDC 14
1.4.2  Profile和MIDP 14
1.5  本章小結(jié) 16
1.6  實(shí)踐練習(xí) 17
第2章  Java手機(jī)游戲開發(fā)基礎(chǔ) 18
2.1  設(shè)計(jì)基礎(chǔ) 18
2.1.1  思想的誕生 19
2.1.2  故事情節(jié) 19
2.1.3  游戲模式 20
2.2  J2ME游戲開發(fā)初步 20
2.3  J2ME Wireless Toolkit 23
2.3.1  使用KToolbar 24
2.3.2  MIDlet游戲項(xiàng)目 24
2.3.3  一個(gè)游戲MIDlet 26
2.3.4  一個(gè)游戲MIDlet 26
2.4  J2ME模擬器和物理設(shè)備 28
2.5  本章小結(jié) 29
2.6  實(shí)踐練習(xí) 29
第3章  構(gòu)建移動(dòng)游戲Skeleton 30
3.1  J2ME API研究 30
3.1.1  CLDC API 31
3.1.2  MIDP API 32
3.2  理解MIDlet 33
3.2.1  MIDlet內(nèi)部結(jié)構(gòu) 33
3.2.2  MIDlet開發(fā)基礎(chǔ) 35
3.3  創(chuàng)建Skeleton范例程序 35
3.3.1  編寫程序代碼 36
3.3.2  準(zhǔn)備發(fā)布MIDlet 40
3.3.3  生成和測(cè)試最終產(chǎn)品 42
3.4  本章小結(jié) 43
3.5  游戲改進(jìn) 43
第4章  手機(jī)游戲圖形 47
4.1  手機(jī)圖形基礎(chǔ) 47
4.1.1  理解圖形坐標(biāo)系 48
4.1.2  顏色的基本知識(shí) 49
4.2  在J2ME中使用圖形 50
4.2.1  繪制圖形基元 51
4.2.2  繪制文本 54
4.2.3  繪制圖像 55
4.3  構(gòu)建Olympics實(shí)例程序 57
4.3.1  編寫程序代碼 57
4.3.2  測(cè)試最終產(chǎn)品 59
4.4  構(gòu)建Slideshow示例程序 59
4.4.1  編寫程序代碼 59
4.4.2  測(cè)試最終產(chǎn)品 63
4.5  本章小結(jié) 64
4.6  游戲改進(jìn) 64
第5章  使用精靈動(dòng)畫 65
5.1  理解動(dòng)畫 65
5.1.1  動(dòng)畫和幀速率 66
5.1.2  走向計(jì)算機(jī)動(dòng)畫 66
5.1.3  2D動(dòng)畫和3D動(dòng)畫 67
5.2  分析2D精靈動(dòng)畫 68
5.2.1  基于幀的動(dòng)畫 68
5.2.2  基于角色的動(dòng)畫 69
5.3  把精靈動(dòng)畫應(yīng)用到手機(jī)游戲中 72
5.4  使用Layer和Sprite類 73
5.5  使用GameCanvas類實(shí)現(xiàn)平穩(wěn)動(dòng)畫 75
5.6  構(gòu)建UFO實(shí)例程序 76
5.6.1  編寫程序代碼 76
5.6.2  測(cè)試最終產(chǎn)品 82
5.7  本章小結(jié) 83
5.8  游戲改進(jìn) 83
第6章  處理手機(jī)用戶輸入 84
6.1  獲取手機(jī)游戲輸入 85
6.2  使用GameCanvas類處理按鍵輸入 86
6.3  再談Sprite類 87
6.3.1  檢測(cè)精靈沖突 87
6.3.2  使用基于幀的動(dòng)畫精靈 89
6.4  構(gòu)建UFO 2實(shí)例 90
6.4.1  編寫程序代碼 90
6.4.2  測(cè)試最終的產(chǎn)品 95
6.5  本章小結(jié) 95
6.6  游戲改進(jìn) 95
第7章  Henway,向Frogger致意 97
7.1  Henway的概況 97
7.2  設(shè)計(jì)游戲 99
7.3  開發(fā)游戲 100
7.4  測(cè)試游戲 110
7.5  本章小結(jié) 111
7.6  游戲改進(jìn) 111
第8章  使用樂(lè)音產(chǎn)生聲音 113
8.1  聲音和手機(jī)游戲 113
8.2  樂(lè)音式聲音和音樂(lè)基礎(chǔ) 115
8.3  了解一個(gè)手機(jī)的音頻能力 116
8.4  在手機(jī)游戲中播放樂(lè)音 118
8.4.1  播放單個(gè)樂(lè)音 118
8.4.2  播放樂(lè)音序列 119
8.5  構(gòu)建UFO 3實(shí)例程序 122
8.5.1  編寫程序代碼 122
8.5.2  測(cè)試最終的產(chǎn)品 126
8.6  本章小結(jié) 127
8.7  實(shí)踐練習(xí) 127
第9章  播放數(shù)字化聲音和音樂(lè) 128
9.1  數(shù)字化聲音基礎(chǔ) 128
9.2  認(rèn)識(shí)聲波聲音 130
9.3  創(chuàng)建和編輯聲波文件 131
9.4  再談Player接口 132
9.5  在手機(jī)游戲中播放聲波聲音 133
9.5.1  從一個(gè)JAR文件播放聲波 134
9.5.2  播放來(lái)自一個(gè)URL的聲波 135
9.6  使用MIDI感受聲音 135
9.7  在手機(jī)游戲中播放MIDI音樂(lè) 136
9.7.1  播放來(lái)自JAR文件的MIDI
歌曲 136
9.7.2  播放來(lái)自URL的MIDI
歌曲 137
9.8  構(gòu)建Henway 2實(shí)例游戲 138
9.8.1  編寫游戲代碼 139
9.8.2  測(cè)試最終產(chǎn)品 142
9.9  本章小結(jié) 142
9.10  實(shí)踐練習(xí) 142
第10章  創(chuàng)建平鋪的游戲圖層 147
10.1  什么是平鋪圖層 147
10.2  為平鋪圖層創(chuàng)建地圖 149
10.2.1  使用Mappy地圖編輯器 150
10.2.2  使用Tile Studio地圖編
輯器 153
10.2.3  為游戲格式化地圖信息 154
10.3  使用TiledLayer類 155
10.3.1  創(chuàng)建一個(gè)平鋪圖層 155
10.3.2  移動(dòng)和繪制一個(gè)平鋪圖層 157
10.4  構(gòu)建Wanderer實(shí)例程序 157
10.4.1  編寫游戲代碼 157
10.4.2  測(cè)試最終產(chǎn)品 161
10.5  本章小結(jié) 163
10.6  實(shí)踐練習(xí) 163
第11章  管理多個(gè)游戲圖層 164
11.1  處理多個(gè)游戲圖層 164
11.2  使用LayerManager類 165
11.3  實(shí)現(xiàn)平鋪圖層動(dòng)畫 167
11.3.1  構(gòu)建Wanderer 2實(shí)例程序 168
11.3.2  設(shè)計(jì)平鋪圖層地圖 169
11.3.2  編寫游戲代碼 172
11.3.3  測(cè)試最終產(chǎn)品 176
11.4  本章小結(jié) 177
11.5  游戲改進(jìn) 177
第12章  High Seas:你是游戲中的海盜 179
12.1  High Seas的概況 179
12.2  設(shè)計(jì)游戲 180
12.2.1  組合水域地圖 182
12.2.2  組合陸地地圖 183
12.3  開發(fā)游戲 185
12.3.1  創(chuàng)建一個(gè)漂移精靈 185
12.3.2  聲明成員變量 188
12.3.3  組合start()方法 188
12.3.4  組合update()方法 191
12.3.5  繪制游戲屏幕 195
12.3.6  開始一個(gè)新游戲 196
12.3.7  安全地放置精靈 196
12.4  測(cè)試游戲 197
12.5  本章小結(jié) 198
12.6  游戲改進(jìn) 199
第13章  教游戲思考 200
13.1  關(guān)于AI的基礎(chǔ)知識(shí) 200
13.2  游戲AI的類型 202
13.2.1  漫游AI 203
13.2.2  行為AI 205
13.2.3  策略AI 206
13.3  設(shè)計(jì)AI策略 207
13.4  教會(huì)精靈思考 208
13.4.1  設(shè)計(jì)追逐精靈 208
13.4.2  編寫追逐精靈代碼 209
13.5  構(gòu)建High Seas 2實(shí)例游戲 213
13.5.1  編寫游戲代碼 214
13.5.2  測(cè)試最終產(chǎn)品 215
13.6  本章小結(jié) 217
13.7  游戲改進(jìn) 217
第14章  手機(jī)游戲網(wǎng)絡(luò)基礎(chǔ) 221
14.1  多玩家游戲基礎(chǔ) 221
14.1.1  回合制游戲 222
14.1.2  基于事件的游戲 222
14.2  網(wǎng)絡(luò)游戲的問(wèn)題和解決方案 223
14.2.1  狀態(tài)同步 224
14.2.2  輸入同步 224
14.2.3  一種混合解決方案 225
14.3  使用Socket通過(guò)網(wǎng)絡(luò)通信 225
14.3.1  流Socket 225
14.3.2  數(shù)據(jù)報(bào)Socket 225
14.4  網(wǎng)絡(luò)編程和J2ME 226
14.4.1  創(chuàng)建數(shù)據(jù)報(bào)包 227
14.4.2  發(fā)送數(shù)據(jù)報(bào)包 228
14.4.3  接收數(shù)據(jù)報(bào)包 228
14.5  構(gòu)建Lighthouse實(shí)例 229
14.5.1  設(shè)計(jì)客戶機(jī)和服務(wù)器 230
14.5.2  編寫程序代碼 231
14.5.3  測(cè)試最終產(chǎn)品 239
14.6  本章小結(jié) 240
14.7  實(shí)踐練習(xí) 240
第15章  Connect 4:為經(jīng)典游戲?qū)崿F(xiàn)
無(wú)線網(wǎng)絡(luò) 242
15.1  Connect 4概況 242
15.2  設(shè)計(jì)游戲 244
15.2.1  圖形和用戶界面 244
15.2.2  游戲邏輯 245
15.2.3  網(wǎng)絡(luò) 245
15.3  開發(fā)游戲 246
15.3.1  Connect 4客戶機(jī)和服務(wù)器 246
15.3.2  Connect 4游戲畫布 250
15.3.3  Connect 4游戲狀態(tài) 257
15.4  測(cè)試游戲 262
15.5  本章小結(jié) 263
15.6  實(shí)踐練習(xí) 263
第16章  調(diào)試和部署 264
16.1  游戲調(diào)試基礎(chǔ) 264
16.1.1  單步執(zhí)行代碼 265
16.1.2  察看變量 265
16.1.3  使用斷點(diǎn) 266
16.2  游戲調(diào)試策略 266
16.2.1  bug預(yù)防 266
16.2.2  bug檢測(cè) 268
16.3  選擇調(diào)試器 270
16.4  部署手機(jī)游戲 270
16.4.1  理解空中下載預(yù)配置 271
16.4.2  為你的游戲做好部署準(zhǔn)備 272
16.4.3  更改Web服務(wù)器 274
16.5  使用KToolbar來(lái)測(cè)試OTA預(yù)
配置 274
16.6  本章小結(jié) 276
16.7  實(shí)踐練習(xí) 276
第17章  優(yōu)化Java手機(jī)游戲 281
17.1  理解手機(jī)游戲優(yōu)化 281
17.1.1  優(yōu)化可維護(hù)性 282
17.1.2  優(yōu)化可移植性 283
17.1.3  優(yōu)化大小 283
17.1.4  優(yōu)化速度 284
17.2  一般的手機(jī)游戲優(yōu)化技巧 284
17.2.1  減少內(nèi)存使用 285
17.2.2  最小化網(wǎng)絡(luò)數(shù)據(jù) 286
17.2.3  去除不必要的圖形 286
17.3  Java代碼優(yōu)化技巧 288
17.3.1  不帶調(diào)試信息地編譯 288
17.3.2  去除不必要的賦值 288
17.3.3  去除常用子表達(dá)式 289
17.3.4  利用局部變量 289
17.3.5  擴(kuò)展循環(huán) 289
17.3.6  代碼緊縮和混淆 290
17.4  探查你的手機(jī)游戲代碼 290
17.5  監(jiān)視手機(jī)游戲內(nèi)存使用 294
17.6  用整體的觀點(diǎn)看待手機(jī)游戲優(yōu)化 296
17.7  本章小結(jié) 297
17.8  游戲改進(jìn) 297
第18章  Space Out:向Space Invaders致敬 298
18.1  Space Out的概況 298
18.2  設(shè)計(jì)游戲 299
18.3  開發(fā)游戲 302
18.3.1  創(chuàng)建一個(gè)移動(dòng)的精靈 302
18.3.2  聲明成員變量 305
18.3.3  組合start()方法 306
18.3.4  組合update()方法 308
18.3.5  繪制游戲屏幕 314
18.3.6  開始一個(gè)新的游戲 314
18.3.7  添加外星人、導(dǎo)彈和爆炸 315
18.4  測(cè)試游戲 318
18.5  本章小結(jié) 320
18.6  游戲改進(jìn) 320
第19章  記錄最高得分 322
19.1  記錄你的成就的重要性 323
19.2  認(rèn)識(shí)Java RMS 323
19.2.1  理解記錄和記錄存儲(chǔ) 324
19.2.2  深入RecordStore類 324
19.3  準(zhǔn)備要存儲(chǔ)的最高得分?jǐn)?shù)據(jù) 327
19.4  構(gòu)建Space Out 2實(shí)例游戲 328
19.4.1  設(shè)計(jì)游戲增加版 328
19.4.2  編寫游戲代碼 329
19.4.3  測(cè)試最終產(chǎn)品 333
19.5  本章小結(jié) 334
19.6  實(shí)踐練習(xí) 335
附錄A  Java游戲API參考 339
A.1  GameCanvas類 339
A.1.1  成員常量 340
A.1.2  構(gòu)造函數(shù) 340
A.1.3  方法 340
A.2  Layer類 341
A.3  Sprite類 342
A.3.1  成員常量 342
A.3.2  構(gòu)造函數(shù) 342
A.3.3  方法 343
A.4  TiledLayer類 344
A.4.1  構(gòu)造函數(shù) 344
A.4.2  方法 344
A.5  LayerManager類 345
A.5.1  構(gòu)造函數(shù) 345
A.5.2  方法 345
附錄B  手機(jī)游戲編程資源 347
B.1  Micro Dev Net 347
B.2  J2ME Gamer 347
B.3  J2ME.org 347
B.4  Nokia論壇手機(jī)游戲開發(fā)社區(qū) 348
B.5  Wireless Developer Network 348
B.6  GameDev.net 348
B.7  Gamasutra 348
B.8  Game Developer Magazine 348
B.9  Gamelan 349
B.10  JavaWorld 349
B.11  Java官方站點(diǎn) 349
附錄C  為手機(jī)游戲創(chuàng)建圖形 350
C.1  評(píng)估游戲圖形 350
C.1.1  確定游戲屏幕大小 350
C.1.2  考慮目標(biāo)觀眾 351
C.1.3  確定游戲環(huán)境和基調(diào) 351
C.1.4  保持圖形風(fēng)格 352
C.2  認(rèn)識(shí)圖形工具 352
C.2.1  Image Alchemy 353
C.2.2  Paint Shop Pro 353
C.2.3  Graphic Workshop 353
C.3  創(chuàng)建和編輯圖形 353
C.3.1  藝術(shù)線條圖形 354
C.3.2  3D渲染圖形 354
C.3.3  掃描的照片和視頻捕捉圖形 355
C.3.4  背景圖形和材質(zhì) 355
C.3.5  動(dòng)畫圖形 355
C.4  尋找圖形 356

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)