第1部分 手机游戏行业概况 2
第1章 手机游戏的市场和发展前景 2
1.1游戏市场现状 2
1.1.1国际游戏市场现状 3
1.1.2国内游戏市场现状 3
1.2游戏发展趋势 4
1.3游戏中的心理学 6
第2章 手机游戏开发的技术特点 8
2.1游戏的种类 8
2.1.1角色扮演类 8
2.1.2回合制战略类 9
2.1.3益智解谜类 9
2.1.4即时战略类 10
2.1.5动作格斗类 10
2.1.6策略类 11
2.1.7冒险类 12
2.1.8射击类 13
2.1.9体育类 13
2.1.10模拟养成类 14
2.2手机游戏的特色分类 14
2.2.1短信游戏(SMS) 14
2.2.2 WAP游戏 15
2.2.3 IVR游戏 16
2.2.4终端游戏 16
2.3游戏设备的特点 19
2.3.1手机作为游戏设备的限制 20
2.3.2手机游戏设备的优势 21
2.3.3设计实现中的扬长避短 21
2.4无线游戏蓝图 22
第3章 手机游戏产业中的职业规划 24
3.1手机游戏项目管理的特点 24
3.1.1职业要求 24
3.1.2常用工具 25
3.1.3职业建议 25
3.2美术——方寸之间尽显本色 26
3.2.1职业要求 26
3.2.2常用工具 26
3.2.3职业建议 27
3.3策划——有限的空间、无限的任务 27
3.3.1职业要求 27
3.3.2常用工具 28
3.3.3职业建议 28
3.4程序,万丈高楼平地起 28
3.4.1职业要求 29
3.4.2常用工具 29
3.4.3职业建议 29
第2部分 Symbian游戏开发 32
第4章 Symbian操作系统 32
4.1 Symbian OS 32
4.1.1 Symbian OS概述 32
4.1.2 Symbian的版本介绍 33
4.1.3 Symbian操作系统的主要特点 34
4.2 Symbian OS开发基础 35
4.2.1命名约定 36
4.2.2命名空间 38
4.2.3基本数据类型 38
4.2.4 Symbian OS应用程序类型 39
第5章Symbian OS开发 42
5.1异常(Exception) 42
5.1.1异常处理 42
5.2 Symbian OS的受限部分 48
5.3定时器(Timer) 50
5.4键盘事件处理 52
5.5声音 54
5.5.1音频声音 55
5.5.2预备声音 56
5.5.3使用观察者对象 57
5.5.4程序代码 57
5.5.5声音编程中的技巧 59
5.6安装 60
第6章 Symbian OS图形开发 62
6.1图形架构 62
6.2基本绘图函数 64
6.2.1绘制文本函数 64
6.2.2点 64
6.2.3线 65
6.2.4绘制形状 65
6.2.5填充图形 67
6.3字体和位图服务器 67
6.3.1位图格式 68
6.3.2遮罩(mask) 70
6.3.3读取位图 70
6.3.4显示位图 71
6.3.5位图操作中的像素级处理 73
6.3.6字体 74
6.4 Windows服务器 76
6.4.1客户端缓冲 77
6.4.2窗口 78
6.4.3控制环境 79
6.4.4 UI库 80
6.4.5精灵(sprite) 81
6.4.6双缓冲(double buffering) 83
6.4.7直接绘制(direct draw) 85
6.5 OpenGL ES 88
6.5.1 OpenGL ES概述 88
6.5.2 OpenGL ES框架 89
6.5.3 Series 60平台中的OpenGL ES 90
6.5.4 OpenGL ES功能 90
6.6视频剪辑 91
6.7游戏编程中的位图技巧 93
6.7.1降低色彩深度 93
6.7.2像素处理 102
6.7.3贴图 104
6.7.4直接写屏与系统特殊事件 106
第7章 Symbian OS通信开发 108
7.1通信架构 108
7.2串口通信服务器 109
7.3套接字服务器(Socket server) 111
7.4游戏数据接收 113
7.5串口编程范例 114
第8章 Symbian OS开发和调试技巧 132
8.1安装Symbian SDK以及给Visual C++++配置开发环境 132
8.1.1安装SDK 132
8.1.2配置Visual C++++ 133
8.1.3编译 134
8.1.4打包 135
8.1.5手机测试 136
8.2在Series 60硬件上调试 136
8.2.1安装系统 136
8.2.2开始调试 137
8.2.3使用蓝牙进行设备调试 137
第9章 Symbian游戏示例 141
第3部分 Windows Mobile游戏开发 160
第10章 Windows Mobile开发介绍 160
10.1事件驱动和消息响应机制 160
10.2 Windows Mobile程序和Windows程序的不同点 161
10.2.1 Windows CE APIs和Win32 API的不同 161
10.2.2 Windows CE MFC和标准MFC的不同 161
10.2.3存储器的限制 162
10.2.4电源管理 162
10.2.5硬件特性 162
10.2.6测试和调试 162
10.3 Embedded Visual C++++开发工具介绍 163
10.3.1 Embedded Visual C++的特性 163
10.3.2建立应用程序 164
10.3.3类及文件说明 168
10.3.4 Hello Windows CE程序 169
10.3.5辅助开发工具介绍 169
10.4 VS.NET Compact Framework开发工具 172
10.5 Windows程序向WindowsMobile程序移植的关键因素 175
10.5.1移植使用Windows CE API 175
10.5.2管理Windows CE的存储器 176
10.5.3管理可用的电量 176
10.5.4移植图形用户接口 177
10.5.5调整位图和图标 177
10.5.6使用Unicode 177
10.5.7创建和管理窗口 178
10.5.8使用Windows CE对话框 178
10.5.9移植用户接口控件 178
10.5.10管理Windows CE线程 178
10.5.11更改用户接口 179
10.5.12支持Windows CE通信 179
10.5.13最小化使用注册表 180
第11章Windows Mobile开发基础 181
11.1 Windows Mobile菜单 181
11.1.1概要 181
11.1.2和菜单有关的主要消息及其响应函数 181
11.1.3 CMenu类 183
11.1.4上下文菜单 185
11.1.5菜单操作技巧 186
11.2对话框 188
11.2.1使用资源编辑器编辑对话框 188
11.2.2对话框的数据交换和数据检查 188
11.2.3模态和非模态对话框 189
11.2.4通用对话框 191
11.3窗口 192
11.3.1产生CWnd对象 192
11.3.2消息映射 194
11.3.3关闭窗口 195
11.3.4 CWnd和句柄 195
11.3.5 SDMV应用中的窗口切换函数 196
11.4控件 198
11.4.1 Windows标准控件和通用控件 198
11.4.2 MFC控件类介绍及使用范例 236
11.5 Windows Mobile的多线程和多进程 256
11.5.1 Windows Mobile的多任务机制 257
11.5.2多线程 259
11.5.3多进程 267
第12章 Windows Mobile图形图像操作基础 273
12.1基本文本操作 273
12.1.1文本输出函数 273
12.1.2文本属性 277
12.1.3字符属性 279
12.1.4字体 280
12.1.5文本显示特殊技巧 283
12.2基本图形图像操作 286
12.2.1绘图函数 286
12.2.2画笔 289
12.2.3画刷 293
12.2.4位图画刷 294
12.2.5方便实用的画笔和画刷类 296
12.2.6绘图模式 298
12.2.7位图 299
12.2.8位操作 301
12.2.9图标 302
12.3高级屏幕绘图 303
12.3.1 DIB类 303
12.3.2未公开的图像API 307
12.3.3 IMGDECMP.dll和VOImage类 308
12.3.4 IJG JPEG库 310
12.3.5 Windows CE高速图形库 312
12.3.6二维实时图形 315
12.3.7分析图表类库 317
第13章 Windows Mobile游戏示例 324
13.1俄罗斯方块游戏的代码分析 324
13.1.1程序结构分析 324
13.1.2程序的主界面 325
13.1.3程序入口分析 325
13.1.4程序的主窗口代码分析 326
13.1.5游戏的主要逻辑控制 330
13.1.6工具类代码分析 333
13.2雷电射击游戏的代码分析 341
13.2.1游戏的主界面 341
13.2.2主要函数介绍 342
13.2.3程序的主处理模块 342
13.2.4背景绘制函数 345
13.2.5游戏中敌机的控制和处理函数 346
13.2.6游戏中我机的控制代码 351
第4部分 J2ME游戏开发 356
第14章 J2ME介绍与环境搭建 356
14.1 J2ME介绍 356
14.1.1 J2ME的基本概念 356
14.1.2 MIDP的使用范围 357
14.1.3 J2ME开发的特点 357
14.2 J2ME开发环境和调试技巧 358
14.2.1 J2ME开发环境的准备 358
14.2.2调试技巧 364
14.2.3代码优化 365
第15章 MIDP程序开发 368
15.1 MIDlet介绍 368
15.1.1什么是MIDlet 368
15.1.2 MIDlet的生命周期 368
15.2 MIDP界面程序设计 369
15.2.1 MIDP界面类函数库 369
15.2.2 List类Gauge 370
15.2.3 Alert与AlertType 373
15.2.4 TextBox类 376
15.2.5 Form类概述 379
15.2.6 Stringltem与ImageItem 379
15.2.7 TextField与DateField 382
15.2.8 Gauge与ChoiceGroup 384
15.2.9 CustomItem 386
15.2.10 Ticker类 391
15.3 MIDP图形处理 392
15.3.1 MIDP图形处理函数库 392
15.3.2 Display类 392
15.3.3 Canvas类 394
15.3.4 Graphics类 395
15.3.5 Image类 398
15.3.6 Font类 400
15.4 MIDP数据库程序设计简介 401
15.5 MIDP网络程序设计 402
15.5.1通用连接框架 402
15.5.2使用HTTP进行连接 404
15.5.3使用Socket进行连接 407
第16章 MIDP 2.0游戏API 410
16.1游戏API简介 410
16.2 Layer类和LayerManager类 411
16.3 Sprite类 412
16.3.1帧 412
16.3.2帧序列 413
16.3.3引用像素 414
16.3.4变换 415
16.3.5碰撞检测 415
16.4 TiledLayer类 416
16.4.1图块 416
16.4.2单元格 417
16.5 GameCanvas类 418
16.5.1屏幕缓冲 419
16.5.2按键查询 419
16.6 MIDP 2.0对游戏开发有用的其他特性 420
第17章 J2ME游戏设计 422
17.1游戏开发过程 422
17.1.1提案 422
17.1.2设计 423
17.1.3实现 424
17.1.4评审 426
17.1.5完成 426
17.1.6设计流程图 427
17.2界面设计 427
17.2.1游戏界面设计概述 427
17.2.2界面设计的原则、步骤和文档格式 428
17.2.3界面设计实例——欢迎界面和功能选择界面 429
17.3游戏引擎设计介绍 432
17.4 J2ME程序测试 435
17.4.1介绍 435
17.4.2搭建开发环境 435
17.4.3编写测试类 436
17.4.4调试运行 437
17.5 J2ME代码优化建议 437
第18章 J2ME游戏范例:潜艇游戏 439
18.1代码介绍 439
18.2 GameCanvas子类的创建 439
18.3变量声明及基本设定 440
18.4构造函数和地图显示 441
18.5主线程及各物体控制函数 443
18.6重画事件 446
18.7背景图层 448