第1篇 基础篇 1
第1章 传说中的技术——Java ME 1
1.1Java平台的划分——Java SE,Java EE,Java ME 1
1.1.1Java的由来 2
1.1.2Java SE的企业级扩充——Java EE 5
1.1.3Java SE向移动设备的发展——Java ME 5
1.1.4JCP与JSR 6
1.2Java ME平台体系结构 6
1.3CLDC 7
1.3.1Configuration 7
1.3.2CLDC1.0与CLDC1.1 8
1.4MIDP 10
1.4.1Profile 10
1.4.2MIDP1.0与MIDP2.0 11
小结 13
第2章 Java ME开发准备 14
2.1Java虚拟机与JDK 14
2.1.1Java虚拟机 14
2.1.2JDK 15
2.2适合新手的开发环境 16
2.2.1JDK与WTK的安装、配置与使用 16
2.2.2方便的文本编辑工具——U1traEdit32 30
小结 33
第3章 Java核心语法与面向对象基础 34
3.1Java的数据类型 34
3.1.1整型数据 35
3.1.2字符型数据char 35
3.1.3浮点型数据float 36
3.1.4布尔型数据Boolean 36
3.1.5字符串数据String 36
3.1.6数组数据 36
3.2Java关键字与控制结构 37
3.2.1关键字 37
3.2.2控制结构 37
3.3类与对象 40
3.4继承 41
3.5接口与抽象类 42
3.5.1接口 42
3.5.2抽象类 43
3.6异常与I/O流 43
3.6.1异常 43
3.6.2I/O流 46
小结 46
第4章 第一个Java ME程序——“We are developer” 47
4.1运行第一个Java ME程序——“We are developer” 47
4.1.1建立项目 47
4.1.2输入代码 48
4.1.3运行程序 50
4.2MIDlet的生命周期 51
4.2.1MIDlet程序的三种状态 51
4.2.2MIDlet程序生命周期方法 51
4.2.3三种状态的转变方法 52
4.3JAD与JAR 53
4.3.1JAR概述 53
4.3.2JAD概述 54
小结 55
第2篇 入门篇 56
第5章 游戏操作的实现——键盘响应 56
5.1键盘响应 56
5.1.1键盘码的定义与获取 56
5.1.2keyPressed——按键按下 59
5.1.3keyRleased——按键松开 61
5.1.4keyRepeated——重复按键 63
5.2Command的使用 64
5.2.1Command类 64
5.2.2Command类型 64
5.2.3通用事件处理——CommandListener 64
5.3指针实例讲解 65
小结 78
第6章 方便的工具——系统工具的调用 79
6.1获取系统参数 79
6.2执行时间的测量 80
6.3随机数 81
6.4Collection类的使用 82
6.5线程的使用 84
6.6Timer与TimerTask的使用 87
6.7综合实例——色子程序的讲解 89
小结 97
第3篇 功能篇 98
第7章 MIDP低级用户界面——Canvas 98
7.1低级用户界面开发简介 98
7.1.1Canvas 98
7.1.2Font 99
7.1.3Image 99
7.1.4Graphics 99
7.2Canvas的开发 99
7.2.1屏幕坐标的指定 99
7.2.2字体的设定与字符串的绘制 102
7.2.3图片的绘制 105
7.2.4让人物走起来 107
7.2.5图片的裁减 110
7.3屏幕抖动的处理——双缓存技术 113
7.4游戏的基本框架 117
小结 119
第8章 游戏的背景——贴图 120
8.1地图简介 120
8.2地图数组的生成——MAPPY的使用 121
8.3贴砖的方法与技巧 125
8.3.1读取地图文件与生成地图数组 125
8.3.2贴砖方法1 126
8.3.3贴砖方法2 132
8.4多层地图的实现 137
小结 138
第9章 精灵与障碍物的碰撞检测 139
9.1碰撞检测介绍 139
9.2碰撞检测方法介绍 139
9.2.1点与矩形的碰撞检测 139
9.2.2矩形与矩形的碰撞检测 143
9.2.3圆与圆的碰撞检测 148
9.2.4矩形与砖块的碰撞 152
小结 157
第10章 聪明的敌人——AI的方法 158
10.1AI的基础知识 158
10.2AI的基本类型 158
10.2.1漫游AI 158
10.2.2行为AI 166
10.2.3策略AI 171
10.3追踪AI范例——解决“卡怪”问题 172
小结 180
第11章 最高分的存储:记录管理系统——RMS 181
11.1数据持久存储开发简介 181
11.2记录文件的创建与删除 182
11.2.1记录文件的创建 182
11.2.2记录文件的关闭与删除 184
11.3存储记录的添加与读取 186
11.4数据类型与字节数组的转换技巧 187
11.5存储记录的更新与监听 188
11.6RMS的高级接口 195
11.6.1RecordEnumeration(遍历接口) 195
11.6.2RecordFilter(过滤接口) 196
11.6.3RecordComparator(比较接口) 197
11.7综合实例Test2 197
小结 203
第12章 手机游戏的限制与性能优化 204
12.1手机游戏的限制 204
12.1.1内存 204
12.1.2类库文件 205
12.1.3屏幕大小和按键 205
12.2性能的优化 206
12.2.1运行的速度 206
12.2.2内存的合理利用 208
12.2.3JAR文件 209
小结 211
第4篇 展望篇 212
第13章 令人兴奋的3D游戏 212
13.13D坐标系介绍 212
13.2照相机(camera) 212
13.3光线(light) 213
13.4mesh的建立方法 213
13.4.1mesh简介 213
13.4.2VertexBuffer 214
13.4.3IndexBuffer 214
13.4.4mesh的建立 215
13.4.5Appearance的设定 215
13.5保留模式建模 219
小结 219
第14章 无线网络的应用 220
14.1无线网络的概述与前景 220
14.1.1无线网络概述 220
14.1.2无线网络前景 221
14.2初识通用连接框架 221
14.2.1GCF的面貌 221
14.2.2GCF的使用 221
14.3服务器Tomact的安装与配置 222
14.4HTTP协议的无线程序 226
14.4.1HTTP协议简介 226
14.4.2HTTP协议无线网络程序的过程概述 227
14.4.3实例:使用HTTP协议读取服务器HTML页信息 229
14.4.4实例:客户机与服务器(Servelet)交互信息 233
小结 240
第5篇 实例篇 241
第15章 拼图游戏与贪吃蛇游戏 241
15.1拼图游戏 241
15.1.1拼图游戏的整体设计 242
15.1.2图片块的设计 244
15.1.3Options菜单项功能的分析 245
15.1.4Board.java类文件的分析 248
15.2贪吃蛇游戏 258
15.2.1游戏的整体设计 259
15.2.2食物类(WormFood)分析 260
15.2.3WormLink类分析 262
15.2.4蛇体类Worm的分析 266
15.2.5游戏的核心WormPit类分析 273
15.2.6计分系统WormScore类分析 287
小结 290
第16章 游戏开发实例 291
16.1整体游戏设计 291
16.2游戏整体架构建立 292
16.3piece类的构建 292
16.4gameCanvas类的构建 294
小结 329
参考文献 330