图书介绍

J2ME 3D手机游戏开发详解PDF|Epub|txt|kindle电子书版本网盘下载

J2ME 3D手机游戏开发详解
  • 龚剑,刘晶晶编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115167743
  • 出版时间:2007
  • 标注页数:618页
  • 文件大小:214MB
  • 文件页数:642页
  • 主题词:JAVA语言-应用-移动通信-携带电话机-游戏-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

J2ME 3D手机游戏开发详解PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一篇 起步篇3

第1章 J2ME概论3

1.1 J2ME的基本概念3

1.1.1 Java平台技术和应用现状3

1.1.2 J2ME简介4

1.1.3 J2ME的体系结构4

1.1.4 J2ME配置5

1.1.5 J2ME虚拟机5

1.1.6 J2ME简表6

1.2 CLDC简介6

1.2.1 特征设备6

1.2.2 CLDC的预审核机制7

1.2.3 CLDC的安全机制8

1.2.4 CLDC的网络支持9

1.2.5 CLDC 1.1的新特性9

1.3 MIDP应用程序开发10

1.3.1 MIDP设备需求10

1.3.2 MIDlet Suite简介10

1.3.3 MIDP类库11

1.3.4 MIDlet生存周期12

1.3.5 MIDlet程序结构12

1.3.6 MIDP 2.0的新特征14

1.4 J2ME 3D概述15

1.4.1 J2ME 3D游戏概述15

1.4.2 M3G包描述15

1.4.3 两种开发模式19

1.4.4 手机3D图像开发技术20

1.4.5 3D绘制性能和游戏引擎21

1.5 3D手机游戏的分类和设计概要22

1.6 本章小结25

第2章 开发环境的选择和配置26

2.1 WTK 2.5的安装和配置26

2.1.1 WTK 2.5简介26

2.1.2 WTK 2.5的安装27

2.1.3 MIDlet开发流程29

2.1.4 WTK 2.5中的3D应用开发30

2.1.5 设置工程属性33

2.1.6 MIDlet的打包36

2.1.7 MIDlet的混淆36

2.1.8 运行JAR文件37

2.2 手机厂商SDK38

2.2.1 诺基亚Carbide.j 1.5的安装和使用39

2.2.2 索尼爱立信J2ME SDK 2.2.4的安装和使用42

2.2.3 摩托罗拉SDK 6.3的安装和使用43

2.3 Jbuilder 2006移动开发环境44

2.3.1 添加WTK 2.545

2.3.2 创建工程46

2.3.3 添加源文件48

2.3.4 打包与混淆50

2.3.5 添加厂家模拟器53

2.4 Eclipse 3.2.1移动开发环境56

2.4.1 Eclipse简介57

2.4.2 安装Eclipse和J2ME插件57

2.4.3 添加WTK 2.561

2.4.4 创建工程63

2.4.5 运行模拟器65

2.4.6 打包与混淆66

2.4.7 添加厂家模拟器67

2.5 NetBeans 5.5移动开发环境68

2.5.1 安装NetBeans和移动开发包68

2.5.2 配置SDK69

2.5.3 创建项目71

2.5.4 添加代码并运行73

2.5.5 导入已有程序75

2.5.6 项目设置76

2.6 本章小结77

第3章 游戏开发相关技术78

3.1 游戏用户界面(Canvas)78

3.1.1 屏幕属性78

3.1.2 屏幕绘制80

3.1.3 绘制基本操作81

3.1.4 绘制直线82

3.1.5 绘制弧形82

3.1.6 绘制圆角矩形83

3.1.7 绘制三角形83

3.1.8 绘制笔触的设置84

3.1.9 双缓冲技术84

3.2 游戏的屏幕:GameCanvas类85

3.2.1 GameCanvas概述86

3.2.2 绘制双缓冲区86

3.2.3 实现游戏主循环87

3.2.4 获取键盘状态88

3.3 绘制图像90

3.3.1 生成图像数据90

3.3.2 图像的锚点93

3.3.3 图像的截取94

3.3.4 图像的透明95

3.3.5 用Photoshop制作PNG透明背景97

3.3.6 用Fireworks制作PNG透明背景98

3.4 字体设置99

3.4.1 外观属性99

3.4.2 字号属性99

3.4.3 字形属性100

3.4.4 默认属性100

3.4.5 设置字体100

3.5 线程(Thread)与定时器(Timer)102

3.5.1 多线程概述102

3.5.2 线程的创建102

3.5.3 线程的休眠和终止103

3.5.4 线程的优先级104

3.5.5 游戏线程104

3.5.6 定时器任务105

3.5.7 任务的执行和取消105

3.6 事件处理机制106

3.6.1 Command事件107

3.6.2 键盘事件109

3.6.3 游戏动作111

3.6.4 触摸屏事件112

3.7 记录存储系统(RMS)113

3.7.1 记录存储的概念113

3.7.2 记录存储的创建115

3.7.3 记录存储的关闭和删除116

3.7.4 列举记录存储的名称116

3.7.5 记录存储的占用空间117

3.7.6 添加记录117

3.7.7 记录的删除117

3.7.8 记录的修改117

3.7.9 记录的获取118

3.7.10 记录存储的监听118

3.7.11 枚举器119

3.7.12 过滤器120

3.7.13 比较器121

3.7.14 记录存储的游戏应用121

3.8 媒体的播放(MMAPI)122

3.8.1 MMAPI简介123

3.8.2 获取终端支持媒体格式123

3.8.3 Player的创建124

3.8.4 Player的状态126

3.8.5 播放单音和声音序列127

3.8.6 设置音量和播放方式128

3.8.7 游戏中的声音播放129

3.8.8 媒体监听接口129

3.9 本章小结130

第二篇 基础篇133

第4章 用点、线、面构造静态多面体133

4.1 基本框架133

4.2 构造多面体的顶点缓冲134

4.2.1 顶点数组(VertexArray)134

4.2.2 位置数组(PositionArray)135

4.2.3 法向量数组(NormalArray)136

4.2.4 颜色数组(ColorArray)139

4.2.5 纹理数组(TextureArray)140

4.2.6 顶点缓冲(VertexBuffer)142

4.3 构造多面体的索引缓冲145

4.3.1 索引缓冲的使用原理145

4.3.2 三角带建模原则145

4.3.3 三角带索引(TriangleStripArray)146

4.4 多面体的外观属性148

4.5 颜色融合属性(CompositingMode)150

4.5.1 构造函数151

4.5.2 融合模式151

4.5.3 Alpha门限153

4.5.4 颜色缓存153

4.5.5 深度缓存153

4.5.6 深度检测155

4.5.7 深度偏移155

4.6 多边形属性(PolygonMode)156

4.6.1 构造函数157

4.6.2 双面拣选模式(Culling)158

4.6.3 缠绕方式(Winding)158

4.6.4 着色模式(Shading)159

4.6.5 透视修正(PerspectiveCorrection)160

4.6.6 双面光照(TwoSidedLighting)161

4.6.7 摄影机灯光(LocalCameraLighting)161

4.7 纹理映射(Texturing)161

4.7.1 2D图像(Image2D)162

4.7.2 Texture2D简介163

4.7.3 创建纹理165

4.7.4 纹理的重复和钳位165

4.7.5 纹理滤镜166

4.7.6 纹理模式168

4.7.7 纹理的旋转、缩放和平移170

4.8 材质属性(Material)171

4.8.1 光的反射原理172

4.8.2 材质的类型173

4.8.3 材质的颜色174

4.8.4 镜面反射的高光属性175

4.8.5 顶点颜色跟踪175

4.9 雾化属性(Fog)176

4.9.1 构造函数178

4.9.2 雾化类型178

4.9.3 雾化方程178

4.9.4 雾化颜色179

4.9.5 雾化实例179

4.10 网格多面体(Mesh)180

4.10.1 类方法介绍180

4.10.2 构造函数181

4.10.3 查询子面和外观属性181

4.11 实例:构造四棱锥模型182

4.11.1 四棱锥的顶点定义182

4.11.2 顶点缓冲的构造182

4.11.3 外观属性的构造185

4.11.4 添加场景元素186

4.11.5 代码框架186

4.11.6 程序运行结果188

4.12 实例:带纹理的宝剑188

4.12.1 顶点缓冲的构造188

4.12.2 外观属性的构造190

4.12.3 场景元素的构造191

4.12.4 游戏线程192

4.12.5 改变方位192

4.13 本章小结194

第5章 光源和摄影机195

5.1 光源195

5.1.1 光源类(Light)195

5.1.2 数量、颜色和方位197

5.1.3 强度和衰减198

5.1.4 环境光(Ambient)199

5.1.5 平行光(Directional)200

5.1.6 点光源(Omni)201

5.1.7 聚光源(Spot)201

5.2 摄影机理论202

5.2.1 从3D到2D的变换203

5.2.2 摄影机空间203

5.2.3 裁剪空间204

5.2.4 线性插值205

5.2.5 透视投影205

5.2.6 正交投影209

5.3 摄影机使用210

5.3.1 摄影机类(Camera)210

5.3.2 透视投影的实现211

5.3.3 正交投影的实现211

5.3.4 编程建议213

5.4 目标摄影机的实现213

5.4.1 目标摄影机原理213

5.4.2 投影矩阵的运算214

5.4.3 目标摄影机的应用216

5.5 自由摄影机的实现218

5.5.1 构造方法218

5.5.2 键盘事件219

5.5.3 更新摄影机方位220

5.5.4 平移摄影机221

5.5.5 旋转摄影机221

5.5.6 屏幕显示224

5.5.7 访问组和摄影机225

5.5.8 自由摄影机的运用225

5.6 本章小结226

第6章 矩阵和线性变换228

6.1 矩阵的定义和运算228

6.1.1 矩阵变换类(Transform)228

6.1.2 点和向量230

6.1.3 4D齐次坐标231

6.1.4 单位矩阵232

6.1.5 转置矩阵233

6.1.6 行列式234

6.1.7 逆矩阵236

6.1.8 矩阵与矩阵的乘法238

6.1.9 矩阵与向量的乘法239

6.2 矩阵的变换操作240

6.2.1 平移(Translate)241

6.2.2 2D中的旋转242

6.2.3 3D中绕坐标轴的旋转243

6.2.4 3D中绕任意轴的旋转244

6.2.5 3D中绕任意点的旋转246

6.2.6 四元数表示的旋转(RotateQuat)246

6.2.7 缩放(Scale)248

6.2.8 镜像(Reflection)249

6.2.9 2D中的切变250

6.2.10 3D中的切变251

6.2.11 逆变换253

6.2.12 矩阵和顶点数组的乘法253

6.3 3D对象的变换254

6.3.1 可变换对象类(Transformable)254

6.3.2 平移变换255

6.3.3 旋转变换257

6.3.4 缩放变换258

6.3.5 变换的组合259

6.3.6 世界坐标系260

6.3.7 物体坐标系260

6.3.8 不同坐标系里的变换261

6.4 本章小结264

第7章 3D场景的渲染265

7.1 场景树的构建265

7.1.1 抽象3D物体Object3D265

7.1.2 节点(Node)268

7.1.3 节点组(Group)270

7.1.4 世界节点(World)271

7.1.5 实例:立方体组的管理273

7.2 对齐技术的使用276

7.2.1 公告牌(Billboard)技术276

7.2.2 场景中树木的实现277

7.2.3 Align实现的目标摄影机(TargetCamera)285

7.2.4 Align实现的目标聚光灯(TargetLight)286

7.3 拾取技术的使用286

7.3.1 拾取概述286

7.3.2 拾取光束(RayIntersection)287

7.3.3 Camera视线拾取289

7.3.4 实例:拾取立方体289

7.3.5 碰撞检测292

7.4 场景绘制(Graphics3D)292

7.4.1 Graphics3D类的使用292

7.4.2 图形优化建议294

7.4.3 绘制和管理场景元素296

7.4.4 设备的3D属性296

7.4.5 背景(Background)298

7.4.6 实例:滚动背景300

7.4.7 3D精灵类(Sprite3D)303

7.4.8 移动的精灵对象305

7.5 本章小结307

第8章 保留模式构造3D场景308

8.1 加载M3G文件308

8.1.1 Loader类加载数据308

8.1.2 分离模型310

8.1.3 M3G文件导出建议311

8.1.4 实例:遍历场景312

8.2 解析场景树315

8.2.1 加载M3G文件315

8.2.2 解析场景316

8.2.3 解析节点316

8.2.4 解析组节点的变换矩阵317

8.2.5 解析顶点缓冲317

8.2.6 解析材质属性318

8.2.7 判断根节点319

8.3 3ds max 9.0构建场景321

8.3.1 创建茶壶模型321

8.3.2 摄影机和灯光322

8.3.3 材质与纹理325

8.3.4 场景背景328

8.3.5 导出场景328

8.3.6 运行程序331

8.3.7 调整坐标系332

8.4 Maya7.0构建场景333

8.4.1 菜单333

8.4.2 视图334

8.4.3 隐藏界面元素335

8.4.4 视图操作335

8.4.5 平移、旋转和缩放336

8.4.6 创建模型336

8.4.7 材质与纹理338

8.4.8 灯光与摄影机341

8.4.9 导出场景342

8.5 Blender 2.4构建场景345

8.5.1 Blender用户界面简介345

8.5.2 打开和保存文件346

8.5.3 选择模型347

8.5.4 平移、旋转和缩放347

8.5.5 拆分窗口348

8.5.6 切换视图349

8.5.7 工具盒349

8.5.8 快捷按钮350

8.5.9 用户参数设置350

8.5.10 创建模型351

8.5.11 灯光与摄影机352

8.5.12 材质与纹理353

8.5.13 场景背景355

8.5.14 导出场景355

8.6 浏览M3G文件356

8.6.1 JSR-184 Player浏览场景356

8.6.2 M3GToolkit 0.5.0浏览场景树357

8.6.3 M3GToolkit 4.0浏览场景358

8.6.4 显示模式359

8.6.5 摄影机360

8.6.6 场景树361

8.6.7 播放动画361

8.6.8 自定义灯光362

8.7 本章小结362

第9章 3D动画制作363

9.1 动画概述363

9.1.1 关键帧动画363

9.1.2 骨骼蒙皮动画364

9.1.3 变形物体动画364

9.1.4 3D动画实现机制及原理364

9.2 关键帧序列(KeyframeSequence)365

9.2.1 插值算法366

9.2.2 线性插值(LINEAR)366

9.2.3 四元数插值(SLERP)367

9.2.4 单步插值368

9.2.5 设置关键帧368

9.2.6 帧重复模式368

9.2.7 设置有效帧369

9.2.8 设置持续时间369

9.3 动画轨迹(AnimationTrack)370

9.3.1 动画特性370

9.3.2 动画轨迹的构造371

9.3.3 绑定动画控制器372

9.4 动画控制器(AnimationController)372

9.4.1 活动间隔和权重373

9.4.2 序列时间和世界时间374

9.4.3 动画播放375

9.4.4 实例:滚动的立方体376

9.4.5 实例:游动的轮船380

9.4.6 保留模式下的动画播放385

9.5 变形多面体动画387

9.5.1 顶点变形多面体(MorphingMesh)387

9.5.2 实例:变形的三角柱390

9.5.3 实例:活动的手指392

9.5.4 实例:关键帧动画控制权重398

9.5.5 骨骼变形多面体(SkinnedMesh)405

9.5.6 实例:活动的关节406

9.5.7 实例:关键帧动画控制骨骼旋转角度410

9.6 本章小结416

第三篇 实战篇419

第10章 3D开发相关技术419

10.1 基本地形渲染技术419

10.1.1 HeightMap简介419

10.1.2 海岛地图的原理421

10.1.3 地图元素图元422

10.1.4 读取元素数据422

10.1.5 构造四边形图元423

10.1.6 根据地图构造四边形组425

10.1.7 构造游戏场景426

10.1.8 绘制场景427

10.1.9 键盘输入427

10.1.10 地图纹理的应用429

10.1.11 摄影机游历场景图430

10.2 粒子系统技术431

10.2.1 粒子系统简介432

10.2.2 粒子系统应用432

10.2.3 粒子系统属性432

10.2.4 粒子系统模型433

10.2.5 焰火粒子系统433

10.2.6 爆炸粒子系统440

10.3 碰撞检测技术443

10.3.1 碰撞检测技术简介443

10.3.2 球体碰撞检测444

10.3.3 AABB立方体边界框检测446

10.3.4 OBB树碰撞检测455

10.3.5 碰撞反应457

10.4 本章小结457

第11章 3D迷宫游戏设计与实现458

11.1 迷宫游戏的策划和准备工作458

11.1.1 3D游戏开发概述458

11.1.2 游戏的策划459

11.1.3 游戏的准备工作460

11.2 迷宫游戏的架构460

11.2.1 游戏线程460

11.2.2 游戏的类结构461

11.2.3 游戏的场景架构462

11.2.4 游戏的流程462

11.2.5 深度优先算法生成迷宫464

11.3 迷宫游戏的实现467

11.3.1 主类Maze3DMIDlet类467

11.3.2 菜单列表MenuList类的实现469

11.3.3 平面Plane类的实现471

11.3.4 迷宫地图Maze类的实现473

11.3.5 设备属性Graphics3Dproperties类的实现481

11.3.6 错误处理ErrorScreen类的实现481

11.4 游戏画布MazeCanvas类的实现482

11.4.1 变量和构造函数482

11.4.2 创建开始标志483

11.4.3 创建结束标志485

11.4.4 创建定位标志486

11.4.5 创建迷宫的墙壁487

11.4.6 创建地板488

11.4.7 初始化游戏场景489

11.4.8 游戏的视角切换490

11.4.9 半透明的墙壁491

11.4.10 游戏线程492

11.4.11 绘制3D场景494

11.4.12 绘制2D图像495

11.4.13 玩家的移动495

11.4.14 判断玩家能否移动498

11.4.15 显示菜单499

11.5 迷宫游戏的改善499

11.6 本章小结500

第12章 第一人称射击游戏(FPS)的设计与实现501

12.1 第一人称射击游戏的策划和准备工作501

12.1.1 第一人称射击游戏概述501

12.1.2 第一人称射击游戏的人工智能502

12.1.3 游戏的策划503

12.1.4 游戏的资源504

12.2 游戏画布的实现504

12.2.1 创建场景504

12.2.2 键盘事件处理506

12.2.3 刷新绘制507

12.3 玩家视角的实现509

12.3.1 带纹理的平面类509

12.3.2 移动摄影机的实现511

12.3.3 键盘事件处理512

12.3.4 位置的更新513

12.3.5 获取摄影机的当前方位514

12.4 加载敌人人物角色515

12.4.1 匪徒信息515

12.4.2 匪徒1的加载516

12.4.3 匪徒2的加载517

12.5 爆炸和射击519

12.5.1 爆炸动画的实现519

12.5.2 射击状态的控制522

12.5.3 爆炸声音的播放526

12.6 本章小结528

第四篇 Mascot Capsule篇533

第13章 Mascot Capsule技术入门533

13.1 创建和绘制3D模型533

13.1.1 Mascot Capsule概述533

13.1.2 绘制立方体实例535

13.1.3 绘制指令和指令列表538

13.1.4 图元类型与顶点坐标539

13.1.5 法向量坐标539

13.1.6 纹理坐标540

13.1.7 颜色数据541

13.1.8 绘制层与摄影机548

13.1.9 纹理的使用和纹理动画550

13.1.10 颜色融合方式556

13.1.11 环境光与平行光559

13.2 3D变换和运算函数560

13.2.1 Vector3D类实现的3D向量560

13.2.2 AffineTrans类实现的仿射变换563

13.2.3 Util3D类实现的正余弦函数568

13.2.4 Util3D类实现的方根运算574

13.3 透明纹理精灵实现的烟雾效果576

13.3.1 MIDlet程序入口576

13.3.2 抽象投影属性的V3Object基类577

13.3.3 墙壁与地板抽象的平面类(Plane)578

13.3.4 计算帧速度的FPS类582

13.3.5 继承V3Object的Smoke烟雾类583

13.3.6 绘制场景游戏画布SmokeCanvas586

13.4 本章小结590

第14章 保留模式下的Mascot Capsule开发591

14.1 保留模式下的文件制作和浏览591

14.1.1 PAC1.3编辑BAC和TRA文件591

14.1.2 M3DConv3.8制作MBAC和MTRA文件594

14.1.3 PVMicro3.5.2浏览MBAC和MTRA文件595

14.1.4 H3T文件和M3G文件的转换599

14.2 实例:动画机器人601

14.2.1 Micro3DMIDlet主类601

14.2.2 游戏画布流程602

14.2.3 加载游戏资源603

14.2.4 启动线程604

14.2.5 键盘事件606

14.2.6 切换动画模式607

14.2.7 释放游戏资源609

14.3 实例:跳舞的男孩610

14.3.1 主类程序入口610

14.3.2 画布工作流程611

14.3.3 初始化场景611

14.3.4 游戏线程613

14.3.5 释放游戏资源614

14.4 实例:旋转的飞机614

14.4.1 加载游戏资源615

14.4.2 游戏循环616

14.5 本章小结618

热门推荐