书籍详情

J2ME手机游戏编程入门

J2ME手机游戏编程入门

作者:(美)莫尼逊|译者;李强译

出版社:人民邮电出版社

出版时间:2005-07-01

ISBN:9787115135278

定价:¥49.00

购买这本书可以去
内容简介
  内容提要:本书帮助读者掌握如何使用J2ME开始手机游戏开发。全书分5个部分19章,另有3个附录。第一部分是前3章,介绍手机游戏开发的基础知识以及如何使用Java和J2MEWirelessToolkit创建一个手机游戏。第二部分是第4章到第9章,介绍了如何为手机游戏绘制图形和图像,还详细叙述了实例游戏Henway的开发过程。第三部分包括第10章到第13章,介绍了游戏图层和人工智能基础,开发了另一个完整的游戏HighSeas。第四部分是第14章到第16章,介绍了如何实现手机无线网络功能,并开发了网络游戏Connect4。最后一部分是第17章到第19章,介绍了如何优化游戏代码以及如何保存最高得分记录,还开发了完整的SpaceOut游戏。附录部分提供了手机游戏编程的有用的参考资料。随书光盘中包含了本书中所有的实例代码以及为没有Java基础的读者准备的Java编程教程。本书适合希望学习J2ME手机游戏编程的读者阅读,也可作为J2ME手机游戏编程的培训教材。《J2ME手机游戏编程入门》教你如何设计和构建自己的手机游戏。本书并不讲述枯燥的编程理论,而是引导读者开发一些即学即用的游戏实例。这些实例可以扩展和重用以构建不同类型的游戏。本书详细地说明了4个完整游戏的开发过程,并提供了示例代码。掌握了书中的知识,你就可以开始自己的游戏开发项目!
作者简介
  MichaelMorrison是一个作家、开发者、玩具发明者,以及很多计算机技术图书和Web交互课程的作者,他的主要职业是作家和自由职业者,Michael还是StalefishLabs公司的富有创造性的领导。StalefishLabs公司目前在开发一系列的手机运动类游戏,欲知详情可以访问Http://www.talltalesgame.com/。除了热衷于计算机、打曲棍球、溜冰板、和妻子一同看电影外,Michael还喜欢在鱼塘钓鱼。李强,国内IT公司项目经理,有数年项目开发经验,熟悉C++、Java等编程语言,爱好电脑游戏和手机游戏。主要译作有《思科网络技术学院教程:Java编程基础》和《计算机网络第一阶》。
目录
第1章  发展中的游戏 3
1.1  移动游戏的本质 3
1.1.1  第一款手机游戏 4
1.1.2  手机游戏市场 5
1.1.3  手机游戏的文化 5
1.1.4  手机游戏的前沿 6
1.2  认识移动平台 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作为手机游戏平台 10
1.3.1  什么是Java 10
1.3.2  为什么选择Java 11
1.3.3  Java和手机编程 11
1.4  J2ME基础简介 13
1.4.1  Configuration和CLDC 14
1.4.2  Profile和MIDP 14
1.5  本章小结 16
1.6  实践练习 17
第2章  Java手机游戏开发基础 18
2.1  设计基础 18
2.1.1  思想的诞生 19
2.1.2  故事情节 19
2.1.3  游戏模式 20
2.2  J2ME游戏开发初步 20
2.3  J2ME Wireless Toolkit 23
2.3.1  使用KToolbar 24
2.3.2  MIDlet游戏项目 24
2.3.3  一个游戏MIDlet 26
2.3.4  一个游戏MIDlet 26
2.4  J2ME模拟器和物理设备 28
2.5  本章小结 29
2.6  实践练习 29
第3章  构建移动游戏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内部结构 33
3.2.2  MIDlet开发基础 35
3.3  创建Skeleton范例程序 35
3.3.1  编写程序代码 36
3.3.2  准备发布MIDlet 40
3.3.3  生成和测试最终产品 42
3.4  本章小结 43
3.5  游戏改进 43
第4章  手机游戏图形 47
4.1  手机图形基础 47
4.1.1  理解图形坐标系 48
4.1.2  颜色的基本知识 49
4.2  在J2ME中使用图形 50
4.2.1  绘制图形基元 51
4.2.2  绘制文本 54
4.2.3  绘制图像 55
4.3  构建Olympics实例程序 57
4.3.1  编写程序代码 57
4.3.2  测试最终产品 59
4.4  构建Slideshow示例程序 59
4.4.1  编写程序代码 59
4.4.2  测试最终产品 63
4.5  本章小结 64
4.6  游戏改进 64
第5章  使用精灵动画 65
5.1  理解动画 65
5.1.1  动画和帧速率 66
5.1.2  走向计算机动画 66
5.1.3  2D动画和3D动画 67
5.2  分析2D精灵动画 68
5.2.1  基于帧的动画 68
5.2.2  基于角色的动画 69
5.3  把精灵动画应用到手机游戏中 72
5.4  使用Layer和Sprite类 73
5.5  使用GameCanvas类实现平稳动画 75
5.6  构建UFO实例程序 76
5.6.1  编写程序代码 76
5.6.2  测试最终产品 82
5.7  本章小结 83
5.8  游戏改进 83
第6章  处理手机用户输入 84
6.1  获取手机游戏输入 85
6.2  使用GameCanvas类处理按键输入 86
6.3  再谈Sprite类 87
6.3.1  检测精灵冲突 87
6.3.2  使用基于帧的动画精灵 89
6.4  构建UFO 2实例 90
6.4.1  编写程序代码 90
6.4.2  测试最终的产品 95
6.5  本章小结 95
6.6  游戏改进 95
第7章  Henway,向Frogger致意 97
7.1  Henway的概况 97
7.2  设计游戏 99
7.3  开发游戏 100
7.4  测试游戏 110
7.5  本章小结 111
7.6  游戏改进 111
第8章  使用乐音产生声音 113
8.1  声音和手机游戏 113
8.2  乐音式声音和音乐基础 115
8.3  了解一个手机的音频能力 116
8.4  在手机游戏中播放乐音 118
8.4.1  播放单个乐音 118
8.4.2  播放乐音序列 119
8.5  构建UFO 3实例程序 122
8.5.1  编写程序代码 122
8.5.2  测试最终的产品 126
8.6  本章小结 127
8.7  实践练习 127
第9章  播放数字化声音和音乐 128
9.1  数字化声音基础 128
9.2  认识声波声音 130
9.3  创建和编辑声波文件 131
9.4  再谈Player接口 132
9.5  在手机游戏中播放声波声音 133
9.5.1  从一个JAR文件播放声波 134
9.5.2  播放来自一个URL的声波 135
9.6  使用MIDI感受声音 135
9.7  在手机游戏中播放MIDI音乐 136
9.7.1  播放来自JAR文件的MIDI
歌曲 136
9.7.2  播放来自URL的MIDI
歌曲 137
9.8  构建Henway 2实例游戏 138
9.8.1  编写游戏代码 139
9.8.2  测试最终产品 142
9.9  本章小结 142
9.10  实践练习 142
第10章  创建平铺的游戏图层 147
10.1  什么是平铺图层 147
10.2  为平铺图层创建地图 149
10.2.1  使用Mappy地图编辑器 150
10.2.2  使用Tile Studio地图编
辑器 153
10.2.3  为游戏格式化地图信息 154
10.3  使用TiledLayer类 155
10.3.1  创建一个平铺图层 155
10.3.2  移动和绘制一个平铺图层 157
10.4  构建Wanderer实例程序 157
10.4.1  编写游戏代码 157
10.4.2  测试最终产品 161
10.5  本章小结 163
10.6  实践练习 163
第11章  管理多个游戏图层 164
11.1  处理多个游戏图层 164
11.2  使用LayerManager类 165
11.3  实现平铺图层动画 167
11.3.1  构建Wanderer 2实例程序 168
11.3.2  设计平铺图层地图 169
11.3.2  编写游戏代码 172
11.3.3  测试最终产品 176
11.4  本章小结 177
11.5  游戏改进 177
第12章  High Seas:你是游戏中的海盗 179
12.1  High Seas的概况 179
12.2  设计游戏 180
12.2.1  组合水域地图 182
12.2.2  组合陆地地图 183
12.3  开发游戏 185
12.3.1  创建一个漂移精灵 185
12.3.2  声明成员变量 188
12.3.3  组合start()方法 188
12.3.4  组合update()方法 191
12.3.5  绘制游戏屏幕 195
12.3.6  开始一个新游戏 196
12.3.7  安全地放置精灵 196
12.4  测试游戏 197
12.5  本章小结 198
12.6  游戏改进 199
第13章  教游戏思考 200
13.1  关于AI的基础知识 200
13.2  游戏AI的类型 202
13.2.1  漫游AI 203
13.2.2  行为AI 205
13.2.3  策略AI 206
13.3  设计AI策略 207
13.4  教会精灵思考 208
13.4.1  设计追逐精灵 208
13.4.2  编写追逐精灵代码 209
13.5  构建High Seas 2实例游戏 213
13.5.1  编写游戏代码 214
13.5.2  测试最终产品 215
13.6  本章小结 217
13.7  游戏改进 217
第14章  手机游戏网络基础 221
14.1  多玩家游戏基础 221
14.1.1  回合制游戏 222
14.1.2  基于事件的游戏 222
14.2  网络游戏的问题和解决方案 223
14.2.1  状态同步 224
14.2.2  输入同步 224
14.2.3  一种混合解决方案 225
14.3  使用Socket通过网络通信 225
14.3.1  流Socket 225
14.3.2  数据报Socket 225
14.4  网络编程和J2ME 226
14.4.1  创建数据报包 227
14.4.2  发送数据报包 228
14.4.3  接收数据报包 228
14.5  构建Lighthouse实例 229
14.5.1  设计客户机和服务器 230
14.5.2  编写程序代码 231
14.5.3  测试最终产品 239
14.6  本章小结 240
14.7  实践练习 240
第15章  Connect 4:为经典游戏实现
无线网络 242
15.1  Connect 4概况 242
15.2  设计游戏 244
15.2.1  图形和用户界面 244
15.2.2  游戏逻辑 245
15.2.3  网络 245
15.3  开发游戏 246
15.3.1  Connect 4客户机和服务器 246
15.3.2  Connect 4游戏画布 250
15.3.3  Connect 4游戏状态 257
15.4  测试游戏 262
15.5  本章小结 263
15.6  实践练习 263
第16章  调试和部署 264
16.1  游戏调试基础 264
16.1.1  单步执行代码 265
16.1.2  察看变量 265
16.1.3  使用断点 266
16.2  游戏调试策略 266
16.2.1  bug预防 266
16.2.2  bug检测 268
16.3  选择调试器 270
16.4  部署手机游戏 270
16.4.1  理解空中下载预配置 271
16.4.2  为你的游戏做好部署准备 272
16.4.3  更改Web服务器 274
16.5  使用KToolbar来测试OTA预
配置 274
16.6  本章小结 276
16.7  实践练习 276
第17章  优化Java手机游戏 281
17.1  理解手机游戏优化 281
17.1.1  优化可维护性 282
17.1.2  优化可移植性 283
17.1.3  优化大小 283
17.1.4  优化速度 284
17.2  一般的手机游戏优化技巧 284
17.2.1  减少内存使用 285
17.2.2  最小化网络数据 286
17.2.3  去除不必要的图形 286
17.3  Java代码优化技巧 288
17.3.1  不带调试信息地编译 288
17.3.2  去除不必要的赋值 288
17.3.3  去除常用子表达式 289
17.3.4  利用局部变量 289
17.3.5  扩展循环 289
17.3.6  代码紧缩和混淆 290
17.4  探查你的手机游戏代码 290
17.5  监视手机游戏内存使用 294
17.6  用整体的观点看待手机游戏优化 296
17.7  本章小结 297
17.8  游戏改进 297
第18章  Space Out:向Space Invaders致敬 298
18.1  Space Out的概况 298
18.2  设计游戏 299
18.3  开发游戏 302
18.3.1  创建一个移动的精灵 302
18.3.2  声明成员变量 305
18.3.3  组合start()方法 306
18.3.4  组合update()方法 308
18.3.5  绘制游戏屏幕 314
18.3.6  开始一个新的游戏 314
18.3.7  添加外星人、导弹和爆炸 315
18.4  测试游戏 318
18.5  本章小结 320
18.6  游戏改进 320
第19章  记录最高得分 322
19.1  记录你的成就的重要性 323
19.2  认识Java RMS 323
19.2.1  理解记录和记录存储 324
19.2.2  深入RecordStore类 324
19.3  准备要存储的最高得分数据 327
19.4  构建Space Out 2实例游戏 328
19.4.1  设计游戏增加版 328
19.4.2  编写游戏代码 329
19.4.3  测试最终产品 333
19.5  本章小结 334
19.6  实践练习 335
附录A  Java游戏API参考 339
A.1  GameCanvas类 339
A.1.1  成员常量 340
A.1.2  构造函数 340
A.1.3  方法 340
A.2  Layer类 341
A.3  Sprite类 342
A.3.1  成员常量 342
A.3.2  构造函数 342
A.3.3  方法 343
A.4  TiledLayer类 344
A.4.1  构造函数 344
A.4.2  方法 344
A.5  LayerManager类 345
A.5.1  构造函数 345
A.5.2  方法 345
附录B  手机游戏编程资源 347
B.1  Micro Dev Net 347
B.2  J2ME Gamer 347
B.3  J2ME.org 347
B.4  Nokia论坛手机游戏开发社区 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官方站点 349
附录C  为手机游戏创建图形 350
C.1  评估游戏图形 350
C.1.1  确定游戏屏幕大小 350
C.1.2  考虑目标观众 351
C.1.3  确定游戏环境和基调 351
C.1.4  保持图形风格 352
C.2  认识图形工具 352
C.2.1  Image Alchemy 353
C.2.2  Paint Shop Pro 353
C.2.3  Graphic Workshop 353
C.3  创建和编辑图形 353
C.3.1  艺术线条图形 354
C.3.2  3D渲染图形 354
C.3.3  扫描的照片和视频捕捉图形 355
C.3.4  背景图形和材质 355
C.3.5  动画图形 355
C.4  寻找图形 356
猜您喜欢

读书导航