作为引领移动技术潮流的软件平台,Android发布了NDK以支持Java和C的混合开发,使PC游戏可以在Android平台上焕发更多魅力。
本书是为那些在Android游戏开发工作中寻求突破的人准备的。书中不仅通过Space Blaster和Asteroids这两个炫酷 的街机游戏深入介绍了如何从头构建纯Java游戏,更详细展示了如何将PC上的3D经典游戏Doom和Wolfenstein 3D移植到Android,阐释了在Java和C中混合使用OpenGL 3D图形和Java本地接口的技术。每个示例都提供了完全可用的实际源代码,方便读者理解复杂概念。作者语言简练,分析透彻,往往一语中的。在他的引导下,读者能很快学会将Java优雅的面向对象特性与C的强大功能集于一身,为Android平台构建任何类型的游戏。
第1章 欢迎进入Android游戏世界 1
1.1 必备技能 1
1.1.1 扎实的Android基础 1
1.1.2 Linux和Shell脚本的基本知识 3
1.2 需要哪些软件工具 3
1.3 建立环境 4
1.3.1 获得Android源文件 4
1.3.2 提取本地Android库 6
1.3.3 为ARM处理器安装GNU工具链 8
1.3.4 编写定制编译脚本 10
1.4 建立开发环境 17
1.5 已经成功迈出第一步 22
第2章 在Android中编译本地代码 23
2.1 第一个本地Android应用 23
2.1.1 创建AVD 23
2.1.2 创建Android项目 26
2.1.3 应用体系结构 27
2.2 编译和测试共享库 38
2.2.1 缺少符号时的调试 40
2.2.2 在设备上测试动态库 41
2.2.3 用strace调试 42
2.2.4 静态编译 43
2.3 测试本地应用 44
2.4 下一章内容 46
第3章 从头构建Java游戏 47
3.1 Android游戏与Java ME游戏 47
3.2 创建你的第一个Java游戏——Space Blaster 48
3.2.1 了解游戏的体系结构 49
3.2.2 创建项目 50
3.2.3 创建游戏的活动类 51
3.2.4 创建游戏布局 53
3.2.5 实现游戏 58
3.2.6 处理按键和触控事件 66
3.3 在模拟器上测试 69
3.4 下一章内容 70
第4章 Java游戏续篇:多边形的乐趣 71
4.1 关于本章安排 71
4.2 了解在Android中绘制多边形的问题 71
4.3 了解绘制矩形的问题 73
4.4 为Asteroids创建一个Polygon类 75
4.5 为Asteroids创建PolygonSprite类 80
4.6 游戏的体系结构 84
4.7 创建项目 84
4.7.1 创建游戏布局 85
4.7.2 查看资源 86
4.7.3 了解游戏生命期 87
4.7.4 响应按键和触控事件 97
4.8 在模拟器上测试Asteroids 100
4.9 下一章内容 101
第5章 OpenGL 3D图形与JNI混合 102
5.1 移动设备的强大能力 103
5.2 在Java中使用OpenGL 104
5.2.1 Java主活动 106
5.2.2 表面视图 108
5.2.3 GL线程 110
5.2.4 立方体渲染器 113
5.2.5 Cube类 116
5.3 以本地方式使用OpenGL 118
5.3.1 主活动 120
5.3.2 本地接口类 122
5.3.3 对原示例的修改 123
5.3.4 本地立方体渲染器 124
5.3.5 本地立方体 131
5.3.6 编译和运行示例 132
5.4 OpenGL游戏移植到Android的问题 137
5.5 大幕已经拉开 138
第6章 3D射击游戏Ⅰ:面向Android的Wolfenstein 3D 139
6.1 收集工具 139
6.2 Wolf 3D 140
6.3 游戏体系结构 143
6.4 Wolf 3D的Java类 144
6.4.1 创建主要的WolfLauncher类 145
6.4.2 创建Wolf 3D主菜单 149
6.4.3 处理按键和触控事件 150
6.4.4 创建游戏循环 152
6.4.5 建立本地回调 153
6.4.6 创建声音和音乐处理器 155
6.4.7 创建运动控制器处理程序 156
6.4.8 创建运动控制器 158
6.4.9 声音类 165
6.4.10 本地接口类 174
6.5 编写本地层 176
6.5.1 初始化游戏循环 177
6.5.2 用C到Java的回调级联传递消息 179
6.6 编译本地库 185
6.6.1 编写Makefile 186
6.6.2 生成JNI头文件 187
6.7 在模拟器中测试Wolf 3D 187
6.8 下一章内容 189
第7章 3D射击游戏Ⅱ:面向Android的Doom 191
7.1 Java/C组合的无限潜能 191
7.2 将Doom引入移动设备 192
7.3 Doom的游戏体系结构 194
7.4 Java主活动 195
7.4.1 创建处理器 196
7.4.2 游戏布局 197
7.4.3 菜单和选择处理器 199
7.4.4 按键和触控事件处理器 200
7.4.5 本地回调处理器 202
7.4.6 导航控件 205
7.5 音频类 207
7.6 本地接口类 208
7.6.1 回调监听器 208
7.6.2 本地方法 209
7.6.3 C到Java的回调 209
7.7 本地层 212
7.7.1 本地方法实现 212
7.7.2 对原游戏的修改 223
7.8 Doom库(DSO)编译 229
7.9 在模拟器中测试面向Android的Doom 230
7.10 大功告成 232
附录 部署与编译提示 234
Apacheisfarandawaythemostwidelyusedwebserverplatformintheworld.Thisversatileserv...
《教育3.0》内容简介:科技的发展、时代的巨变给当下的教育行业带来了巨大的挑战,工业时代的教育方式早已过 时,未来的教育如何发
MuchhaschangedinthetenyearssincethepublicationofthefirsteditionoftheHandbookofHu...
这是一本介绍软件管理的小品文集。全书分为45章,每章就是一个独立的专题或者知识点。本书内容十分丰富全面,小到项目负责人制订
各位,下一個最好的投資機會,不在於股票、債券或房地產,而是原物料,也就是我們日常生活基本所需的大宗物資。聰明的投資人已經
《全国会计专业技术资格考试历年真题+全真模拟:初级会计实务》内容简介:《全国会计专业技术资格考试历年真题+全真模拟:初级会计
Java 编程思想(英文版.第3版)附光盘 本书特色 本书赢得了全球程序员的广泛赞誉,即使是*晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示...
《微聊环保》内容简介:媒体是敌人?是对手?是非敌非友?还是合作伙伴?“从来不接受采访,不和媒体打交道”是一种荣耀吗?敏感问
《土地制度、结构转型与经济发展》内容简介:本书内容主要分五个部分:部分是制度背景与分析框架,包括第1-2章,梳理土地制度、结构
《诗唱大唐》内容简介:大唐的皇帝写过那些诗? 他们又点赞过那些诗? 状元们的诗写得怎样? 唐诗四万多首,有那些著名的“恶诗”?
《现代化语境下的民众教育与社会改造:1928-1937年北平地区民众教育馆研究》内容简介:近代社会教育是在现代化语境下兴起的救国思想
本书提供了创新的编译器构造方法,通过大量韵示例和练习,描述如何从头至尾设计一个哥用的编译器。书中均衡覆盖了编译器设计中的
ArcGIS Engine开发从入门到精通 本书特色 本书是一本指导读者快速入门ArcGIS Engine并提高的书籍,着重介绍了ArcGIS Engine的基...
软件设计师教程-全国计算机技术与软件专业技术资格(水平)考试指定用书-(第4版) 本书特色 本书作为中级职称的软考指定教材,具有比较权威的指导意义。本书根据《软...
Thisisyourmust-haveresourcetothetheoreticalandpracticalconceptsofmobileUX.Youlll...
CiscoIPv6网络实现技术 本书特色 本书面向企业和提供商市场的专业人员,如规划人员、网络设计者、系统工程师、网络经理、管理员以及任何技术人员。本书是一本中...
《App Inventor创意趣味编程进阶》内容简介:App Inventor是一款简单易上手的可视化安卓App开发工具,随着各种开源硬件和人工智能技
《C++并发编程实战(第2版)》内容简介:这是一本介绍C++并发和多线程编程的深度指南。本书从C++标准程序库的各种工具讲起,介绍线
《玉石收藏投资购买宝典》内容简介:《玉石收藏投资购买宝典》是一本优秀的收藏指南类图书,收录了目前市场上最热门的玉石品种,用
《“一带一路”金融大战略》内容简介:《“一带一路”金融大战略》一书在“一带一路”这个大战略、大智慧、大工程背景下,从金融战