第1章手机游戏简介 1
1.1手机游戏的发展 1
目 录 1
1.2手机游戏的特点 2
1.2.1手机设备的优点 2
1.2.2手机设备的缺点 3
1.3手机游戏的开发 4
1.3.1 与传统游戏开发的区别 4
1.3.2扬长避短的开发策略 5
1.4 BREW是什么 7
2.2动作游戏 9
第2章精彩手机游戏纵览 9
2.1 棋牌游戏 9
2.3益智游戏 10
2.4策略游戏 10
2.5体育游戏 11
2.6宠物游戏 11
2.7 角色游戏 12
2.8射击游戏 12
2.9联网游戏 13
3.1.1 BREW的概念 15
3.1.2 BREW的内容 15
第3章BREW入门 15
3.1 BREW简介 15
3.1.3 BREW的优势 17
3.2 BREW开发环境 18
3.2.1 BREW SDK的安装环境 18
3.2.2 BREW SDK的安装 18
3.2.3 BREW SDK的组件和目录结构 23
3.3建立第一个应用程序 25
3.3.1创建一个新的BREW工程 25
3.3.2程序的框架说明 29
3.3.3编写并保存代码 31
3.3.4运行HelloWorld 38
4.1 背景知识:使用C语言的面向对象编程 41
第4章BREW核心技术 41
4.1.1最简单的例子 42
4.1.2继承的实现 42
4.1.3 多态性 43
4.2 AEE体系架构分析 44
4.2.1 AEE的层次结构 44
4.2.2 BREW接口概貌 45
4.2.3 AEECLSID机制 46
4.2.4工厂方法ISHELL_CreateInstance 50
4.3 MODULE和APPLET的创建 50
4.3.1 Module的创建 50
4.3.2 Applet的创建和启动 53
4.4.1 事件驱动机制概述 57
4.4.2 AEE事件处理函数的注册 57
4.4 AEE的事件处理机制 57
4.4.3AEE事件的分类 59
4.4.4 AEE事件分发机制 61
4.4.5 Applet的挂起和恢复 61
第5章GUI技术 62
5.1 游戏中的GUI 62
5.2 BREW中GUI关键技术分析 63
5.2.1显示技术的基础——Display接口 63
5.2.2 图形图像的显示——IGraphics、IBitmap和IImage接口 68
5.2.3显示相关的几个辅助接口 79
6.1.1 手机存储技术简介 98
6.1.2存储技术在游戏中的应用 98
6.1 基础知识 98
第6章数据存储技术 98
6.2文件I/O技术 99
6.2.1文件I/O技术要点 99
6.2.2 BREW文件的I/O技术 102
6.3数据库管理技术 109
6.3.1BREW数据库技术 109
6.3.2实现BREW数据库的管理 109
6.4实例分析 113
6.4.1文件I/O实例 113
6.4.2数据库实例 117
7.1.2受限内存常用管理方式 121
7.1.1手机内存的限制 121
7.1受限内存管理方式 121
第7章内存管理 121
7.1.3常用内存分配方式 125
7.2 BREW中的内存使用 126
7.2.1 内存的分配 126
7.2.2内存的释放 129
7.2.3IHeap接口 129
7.2.4重载new和delete 130
7.2.5经验之谈 132
第8章音效技术 134
8.1音效技术简介 134
8.2两个音效播放的例子 135
8.3蜂鸣的介绍 137
8.4音调接口的使用 138
8.4.1接口的回调模块 138
8.4.2 ISound接口中其他播放和控制模块 141
8.4.3设备的设置 143
8.4.4退出模块 144
8.5语音播放器接口的使用 145
8.5.1 回调模块 145
8.5.2其他功能介绍 148
8.5.3设备信息的取得和设定模块 151
8.5.4退出释放模块 152
8.6多媒体接口介绍 152
8.6.1 回调模块 153
8.6.2其他功能介绍 154
8.7关于CMX Studio的介绍 157
8.6.3退出释放模块 157
8.8实例分析 161
第9章动画中的精灵Sprite 169
9.1 Sprite技术简介 169
9.2 ISprite接口的使用 171
9.2.1洋葱一样分层的游戏场景 171
9.2.2加载图像资源 172
9.2.3使用Tile创建复杂的背景 173
9.2.4背景的显示与控制 176
9.2.5使用Sprite创建动画对象 177
9.2.6动画对象的显示与控制 178
9.2.7精灵的透明色问题 179
9.2.8总结 181
9.3完整的Pfly例子 182
9.3.1 Pfly LoadSprites()函数 182
9.3.2 Pfly LoadResources()函数 183
9.3.3 Pfly Init()函数 184
9.3.4 Pfly NextFrame()函数 186
第10章无线网络技术 190
10.1技术背景概述 190
10.2简单示例 193
10.3 Socket基础 197
10.4 BREW的网络接口 198
10.4.1 接口的使用方法和机制 198
10.4.2 INetMgr接口基本功能介绍 199
10.4.3 ISocket接口的其他功能介绍 204
10.4.4接口的取消回调和释放 213
10.5一个示例 214
第11章其他辅助技术 215
11.1字符串操作 215
11.2浮点数操作 216
11.3定时器 217
11.4随机数 218
第12章综合示例分析 219
12.1摇摆虫游戏 220
12.1.1游戏设计第一步:创意 220
12.1.2游戏设计第二步:需求分析 220
12.1.3游戏设计第三步:详细设计 221
12.1.4游戏设计第四步:代码设计 222
12.1.5游戏设计第五步:游戏测试 240
12.1.6总结 240
12.2纸飞机游戏 241
12.2.1 创意 242
12.2.2需求规格 242
12.2.3基本流程图和控制转移表 243
12.2.4程序模块分析 243
12.2.5 总结 256
附录A BREW Emulator的使用 257
A1 Emulator运行小程序的流程 257
A1.1 从“开始”菜单运行Emulator 257
A1.2 Emulator菜单和其他功能 258
A2运行BREW应用程序 261
A2.1运行BREW应用程序的过程 261
A2.2查看和编辑应用程序源代码 263
A3使用应用程序管理器 263
A3.1在Emulator配置小程序图像 264
A3.2配置小程序以播放声音 265
A4使用速度模拟 266
A4.1 为什么要使用速度模拟 266
A4.2如何进行速度模拟 267
附录B BREW Resource Editor的使用 268
B1 资源编辑器所用到的文件格式 268
B3.1运行资源编辑器 269
B3创建资源 269
B2资源编辑器的作用 269
B3.2创建字符串资源 270
B3.3创建图像资源 272
B3.4创建对话框资源 274
B4编译资源文件 277
附录C BREW MIF Editor的使用 278
C1BREW类和MIF 278
C2MIF编辑器的作用 279
C3使用BREW MIF编辑器和向模块添加小程序的步骤 279
C3.1从“开始”菜单运行MIF编辑器 279
C3.2 MIF编辑器Applet选项卡的设置 280
C3.3添加常规MIF信息 285
C3.4扩展 287
C3.5维护外部依存 290
C3.6向MIF添加许可证 291
附录D BREW Device Configurator的使用 293
D1 Configurator简介 293
D1.1 Configurator的作用 293
D1.2设备文件 294
D1.3 常规设备属性 294
D1.4设备对象 295
D1.5图像文件要求 296
D1.8模拟设备速度 297
D2.1从“开始”菜单运行Configurator 297
D2使用Configurator 297
D1.7模拟字符 297
D1.6模拟设备屏幕 297
D2.2创建设备文件 298
D2.3导入设备图像文件 299
D2.4定义设备属性 300
D2.5定义对象 304
D2.6编辑现有的设备 307
附录E使用Embedded C++ 310
E1类的定义 310
E2应用程序的初始化 312
E3类的实现 313
附录F BREW相关资源 315
附录G参考文献 317