第1章 飞行射击游戏——雷电游戏 1
1.1 项目背景 1
1.2 项目的4个环节分析 3
1.2.1 项目美术 3
1.2.2 项目音效 5
1.2.3 项目策划 6
1.2.4 项目程序 6
本章小结 11
第2章 Java手机游戏与应用程序开发技能 12
2.1 美术 12
2.2 音效 12
2.3 策划 12
2.3.1 策划自己的《雷电》游戏 12
2.3.2 手机游戏特征和设计原则 14
2.3.3 玩家需求分析 17
2.3.4 玩家行为分析 19
2.3.5 用户界面与操作性 22
2.4 程序 24
2.5 手机游戏项目开发流程总结 28
2.5.1 第一阶段:提案 28
2.5.2 第二阶段:设计 29
2.5.3 第三阶段:实现 29
2.5.4 第四阶段:测试与评审 30
2.5.5 第五阶段:完成 30
本章小结 30
第3章 J2ME概述 31
从《雷电》游戏说起 31
3.1 J2ME简介 31
3.1.1 J2ME发展历史 31
3.1.2 Java语言的特点 32
3.1.3 J2ME概述 34
3.2 J2ME体系结构 35
3.2.1 配置 35
3.2.2 简表 37
3.2.3 可选包 37
3.3 规范说明 38
本章小结 38
思考练习题 39
第4章 MIDP开发环境配置 40
从《雷电》游戏说起 40
4.1 MIDP开发所需要的资源和工具 40
4.2 开发包的安装与配置 41
4.2.1 安装和配置J2SE SDK开发包 41
4.2.2 安装和配置J2ME Wireless ToolKit开发包 41
4.2.3 模拟器的介绍及定制 42
4.3 Eclipse集成开发工具 43
4.3.1 开发工具的选择 43
4.3.2 Eclipse集成开发工具安装与配置 44
4.4 HelloWorld 48
4.4.1 J2ME程序开发流程 49
4.4.2 Eclipse开发步骤 50
4.4.3 HelloWorld代码详述 54
本章小结 55
思考练习题 55
第5章 MIDlet和MIDlet Suite 56
从《雷电》游戏说起 56
5.1 MIDP的应用程序——MIDlet 56
5.1.1 MIDlet简介 56
5.1.2 最简单的MIDlet——HelloWorld 57
5.1.3 MIDlet的状态与生命周期 58
5.2 MIDlet套件——MIDlet Suite 58
5.3 OTA发布程序 59
5.3.1 OTA简介 59
5.3.2 MIDlet程序属性设置 59
5.3.3 在服务器上发布程序 60
5.3.4 通过OTA安装MIDlet程序 60
本章小结 62
思考练习题 62
第6章 MIDP高级用户界面设计 63
从《雷电》游戏说起 63
6.1 MIDP用户界面设计概述 64
6.2 管理用户界面的类 65
6.2.1 Display类 65
6.2.2 Displayable类 67
6.3 高级事件处理 69
6.3.1 Command类 69
6.3.2 CommandListener接口 73
6.4 基本屏幕控件案例 75
6.4.1 TextBox 76
6.4.2 List 80
6.4.3 Alert 84
6.4.4 Form 86
6.4.5 Ticker 90
6.5 Item控件使用案例 92
6.5.1 TextField 94
6.5.2 ImageItem 96
6.5.3 StringItem 99
6.5.4 ChoiceGroup 102
6.5.5 DateField 104
6.5.6 Gauge 106
6.6 综合案例——对话框案例 109
6.6.1 案例分析 109
6.6.2 案例实现与应用 110
6.7 技能自助实践 112
本章小结 114
思考练习题 114
第7章 MIDP低级用户界面设计 115
从《雷电》游戏说起 115
7.1 Canvas类 116
7.1.1 Canvas类概述 116
7.1.2 画布布局 117
7.1.3 画布的应用 118
7.2 Graphics类 119
7.2.1 画笔 121
7.2.2 直线 121
7.2.3 矩形案例 123
7.2.4 圆弧案例 125
7.2.5 文本案例 127
7.3 Image类 130
7.4 计时器 134
7.4.1 TimerTask类 134
7.4.2 Timer类 135
7.5 低级事件处理 138
7.5.1 键盘事件 138
7.5.2 触控事件 138
7.5.3 游戏动作 140
7.6 定制Item——CustomItem 142
7.7 综合案例——字母拼图游戏 146
7.7.1 案例分析 147
7.7.2 案例实现与总结 147
7.8 技能自助实践 148
本章小结 149
思考练习题 149
第8章 MIDP游戏程序设计 150
从《雷电》游戏说起 150
8.1 MIDP游戏程序设计概述 151
8.2 游戏画布(GameCanvas类) 153
8.2.1 GameCanvas类的使用 153
8.2.2 GameCanvas类中的按键处理 156
8.3 图层(Layer类) 158
8.4 精灵(Sprite类) 159
8.4.1 Sprite类的使用 159
8.4.2 Sprite类的移动和旋转 164
8.4.3 Sprite类的碰撞检测 169
8.4.4 Sprite类的扩展 170
8.5 分块图层(TiledLayer类) 170
8.5.1 基本概念 170
8.5.2 分块图层的使用 173
8.6 图层管理(LayerManager类) 177
8.6.1 图层的管理 177
8.6.2 视窗的设置与显示 181
8.7 综合案例——Sprite类的碰撞 185
8.7.1 案例分析 185
8.7.2 案例实现与总结 185
8.8 技能自助实践 189
本章小结 189
思考练习题 190
第9章 MIDP多媒体程序设计 191
从《雷电》游戏说起 191
9.1 Mobile Media API体系结构 191
9.1.1 MMAPI概念 191
9.1.2 MMAPI的体系结构 192
9.2 媒体播放器的创建和管理 193
9.2.1 MMAPI支持的声音格式 193
9.2.2 Player接口和状态 193
9.3 媒体播放器的使用 195
9.3.1 播放简单音调 195
9.3.2 播放音乐文件 197
9.3.3 控制播放音量 199
9.3.4 播放器监听接口 202
9.4 游戏中声音的播放 204
9.4.1 以独占方式播放声音 205
9.4.2 以线程方式播放声音 205
9.5 技能自助实践 205
本章小结 206
思考练习题 206
第10章 数据持久存储 208
从《雷电》游戏说起 208
10.1 记录管理系统概述 208
10.1.1 数据持久存储开发简介 209
10.1.2 数据持久存储开发 209
10.2 记录存储的基本操作 211
10.2.1 记录存储的管理 211
10.2.2 记录的基本操作 215
10.3 记录的高级操作 220
10.3.1 记录枚举接口 220
10.3.2 记录过滤接口 221
10.3.3 记录比较接口 221
10.3.4 记录监听接口 226
10.4 记录的格式问题 229
10.4.1 二进制格式和其他格式的转换 229
10.4.2 关于数据转换的几个问题 230
10.5 综合案例——游戏中的数据存储 230
10.5.1 游戏中记录存储的方式 230
10.5.2 游戏中记录存储类的使用 230
10.6 技能自助实践 233
本章小结 233
思考练习题 234
第11章 MIDP网络程序设计 236
从《雷电》游戏说起 236
11.1 MIDP网络编程 236
11.1.1 概述 236
11.1.2 通用连接框架 237
11.2 基于HTTP编程案例 238
11.2.1 使用StreamConnection接口 239
11.2.2 使用HttpConnection接口 242
11.3 基于套接字编程 249
11.3.1 使用SocketConnection接口 250
11.3.2 使用ServerSocket Connection接口 250
11.3.3 基于套接字编程案例 251
11.4 基于数据报编程 255
11.5 Push技术 256
11.5.1 Push技术的分类 256
11.5.2 静态Push注册与基于inbound网络连接的Push 256
11.5.3 动态Push注册与基于计时器的Push 257
11.5.4 使用Push应注意的问题 258
11.6 技能自助实践 258
本章小结 259
思考练习题 259
第12章 手机游戏开发的总体理念 261
12.1 从《雷电》游戏的总结与展望说起 261
12.1.1 《雷电》游戏的地图设计 261
12.1.2 《雷电》游戏的子弹设计 262
12.1.3 《雷电》游戏的道具设计 262
12.1.4 《雷电》游戏的碰撞检测 263
12.1.5 《雷电》游戏的关卡设计 263
12.2 游戏开发的思路 264
12.3 从游戏玩家角度开发的游戏 265
12.4 从开发者角度开发的游戏 266
12.4.1 从游戏载体划分游戏 266
12.4.2 从游戏实现角度划分游戏 267
12.5 J2ME手机游戏的版本和移植性 268
12.5.1 J2ME的版本探讨 268
12.5.2 J2ME的扩展标准 269
12.5.3 J2ME的不同厂家实现的差别探讨 270
12.5.4 J2ME程序在不同手机之间的移植 270
本章小结 270
参考文献 271