Android发在国内具有非常广泛的用户基础。而根据相关调查,Android平台上45%的应用与游戏相关。Android游戏应用的发具有非常广阔的市场。 本书并不会对读者做太多假设。当然,我们假设你有基本的数学知识,并且知道如何在计算机上安装程序或应用,但是,并不会假设你之前编写程序,或者有物理学的学位。 如果你是**次始编写代码,肯定会遇到一些问题。这没事。实际上,当你遇到难处,请访问本书的配套网站并寻求帮助。无论是编辑、Kilobolt的工作人员或者是陌生人,都会乐意帮助你解答问题或解决问题。
售 价:¥
纸质售价:¥43.90购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
内容提要
前言
致谢
Web资源
作者简介
第1部分 Java基础知识
第1章 程序设计基础
1.1 什么是编程
1.2 数据类型
1.2.1 基本类型
1.2.2 字符串
1.3 声明和初始化变量
1.3.1 变量名和字面值
1.3.2 初始化或不初始化
1.4 关于位的一切(位和字节的简单介绍)
在数据类型之间转换
1.5 运算
1.5.1 算术运算
1.5.2 运算顺序
1.5.3 关系/布尔运算
1.5.4 条件运算符
1.6 函数(在Java中称为“方法”更好)
1.6.1 函数调用概览
1.6.2 参数的更多讨论
1.6.3 函数小结
1.7 控制流程第1部分——if和else语句
1.7.1 if-else语句块
1.7.2 if, else-if和else
1.7.3 函数和if-else语句块
1.7.4 嵌套的if-else语句块
1.7.5 简化布尔语句
1.8 控制流程第2部分——while和for循环
1.8.1 while循环
1.8.2 for循环
1.9 训练到此结束
第2章 Java基础知识
2.1 面向对象编程
2.2 设置开发机器
2.2.1 安装Eclipse
在Windows上查看操作系统类型
在Mac OS X上查看操作系统类型
2.2.2 安装Java开发包
2.2.3 打开Eclipse
2.3 编写第一个程序
2.3.1 创建一个新的Java项目
2.3.2 创建一个Java类
2.3.3 main方法
2.3.4 打招呼
2.4 执行Java程序
2.5 魔术揭秘——编译器和JVM
2.6 构建一个简单的计算器程序
2.7 构建一个简单的计数程序
2.8 对象的基础知识
2.9 类
2.10 使用对象
2.11 创建新的对象变量
2.12 设置和访问对象的状态
2.13 调用对象的行为
2.14 隐藏变量
2.15 改进程序
2.16 区分类和对象
2.17 对象是独立的
2.18 使用Java API中的对象
2.19 使用字符串
2.20 对象的更多实践——模拟一个色子
java.util.Random有多随机
关于导入的更多介绍
2.21 对象和基本类型的分组
2.21.1 数组
2.21.2 ArrayLists
2.21.3 对基本类型使用ArrayList
2.21.4 对ArrayList使用循环
2.22 小结
第3章 设计更好的对象
3.1 构造方法
3.1.1 变量接受默认值
3.1.2 避免Java异常
3.1.3 使用方法来初始化Code对象
3.1.4 使用定制的构造方法来初始化Coder对象
3.2 getter和setter
3.3 接口
3.4 多态
3.5 继承
3.6 图形
3.6.1 JFrame简介
3.6.2 说明坐标系统
3.6.3 创建一个JFrame
3.6.4 添加一个JPanel
3.6.5 术语解释
3.6.6 理解MyPanel
3.6.7 回到FirstFrame
3.7 里程碑
第2部分 Java游戏开发
第4章 游戏开发基础
4.1 Java游戏开发概览
4.2 学习构建游戏
4.3 构建游戏开发框架
4.3.1 游戏开发框架的作用
4.3.2 什么造就了一个好的游戏开发框架
4.3.3 基本术语
4.3.4 设计自己的框架
4.3.5 下载源代码
4.3.6 开始框架
4.3.7 关于包的讨论
4.3.8 创建自己的类
4.3.9 在GameMain中创建一个JFrame
4.3.10 static关键字
4.3.11 final关键字
4.3.12 为Game.java创建一个构造方法
4.3.13 向JFrame添加Game
4.4 给项目添加图像文件
4.4.1 创建Resources类
4.4.2 Try/Catch语句块
4.4.3 从资源包中加载图像文件
4.5 检查点#1
4.6 定义状态
4.6.1 创建状态类
4.6.2 关于抽象类的更多介绍
4.6.3 为何使用一个抽象类
4.6.4 创建LoadState类
4.6.5 设置当前状态
4.6.6 转换到MenuState
4.7 检查点#2
4.8 多任务的需求
4.8.1 线程
4.8.2 添加游戏线程
4.8.3 实现游戏循环
4.8.4 帧每秒和定时机制
4.8.5 退出游戏
4.8.6 修正绘图
4.8.7 处理玩家输入
4.8.8 添加InputHandler
4.9 检查点#3
关于许可和代码复用
4.10 由此开始
第5章 保持简单
5.1 游戏开发:高层级概览
5.1.1 为何如此简单
5.1.2 类
5.2 准备LoneBall项目
5.2.1 复制框架
5.2.2 添加并加载资源
5.3 实现游戏过程界面
5.3.1 添加PlayState
5.3.2 转换到PlayState
5.4 设计挡板
5.4.1 Paddle中的变量
5.4.2 方法
5.5 创建Paddle类
5.5.1 添加变量
5.5.2 添加方法
5.5.3 用常量减少依赖性
5.5.4 添加getter
5.6 在PlayState中实现Paddle对象
5.6.1 渲染面板
5.6.2 处理玩家输入
5.6.3 通过委托来更新挡板
5.6.4 修正bug
5.7 实现计分系统
5.8 实现RandomNumberGenerator类
5.9 设计球
5.9.1 Ball类中的变量
5.9.2 Ball类的方法
5.10 创建Ball类
5.10.1 添加变量
5.10.2 添加更新方法
5.10.3 添加其他方法
5.10.4 添加getter方法
5.11 在PlayState中实现Ball对象
5.11.1 声明并初始化球
5.11.2 更新球
5.11.3 渲染球
5.12 处理碰撞:球vs.挡板以及球vs.消失
运行最终产品
5.13 导出游戏
5.14 执行游戏
5.15 小结
5.16 下一关
第6章 下一关
6.1 框架需要进行一处更新
6.1.1 与帧速率无关的移动vs.与帧速率相关的移动
6.1.2 动画
6.2 规划修改:高层级的概览
6.3 开始之前要了解的方法
6.3.1 Math.max()
6.3.2 System.nanoTime()
6.4 更新游戏循环
6.4.1 修改计时机制
6.4.2 计算增量
6.4.3 允许与帧速率无关的移动
6.4.4 在循环外声明变量
6.5 切换到主动渲染
回顾代码
6.6 更新State类
6.7 添加andomNumberGenerator
6.8 添加动画
6.8.1 设计和实现Frame类
6.8.2 设计Animation类
6.8.3 实现Animation类
6.9 Ellio:优化至关重要
6.9.1 内存管理的问题
6.9.2 优化技巧
6.9.3 认识垃圾收集器
6.9.4 担心垃圾收集器
6.9.5 内存管理和Ellio
6.10 Ellio:高级概览
类
6.11 准备Ellio对象
复制框架
6.12 添加和加载资源
6.13 设计和实现Player
6.13.1 说明属性和行为
6.13.2 创建Player类及其变量
6.13.3 添加方法
6.13.4 讨论update()和isGrounded()方法
6.13.5 讨论updateRects()方法
6.13.6 强制转型一个值
6.13.7 讨论duck()、jump()和pushBack()方法
6.13.8 添加getter
6.14 设计和实现云
6.15 设计和实现砖块类
6.16 设计和实现支持性的状态类
6.16.1 GameOverState
6.16.2 MenuState
6.17 设计和实现PlayState
6.17.1 PlayState的变量
6.17.2 初始化变量
6.17.3 添加用户输入
6.17.4 更新PlayState
6.17.5 渲染PlayState
6.17.6 运行游戏
6.18 开始另一段旅程
第3部分 Android游戏开发
第7章 开始Android开发
7.1 Android:全新世界的共同语言
7.1.1 Android开发面临的挑战
7.1.2 Android开发的乐趣
7.2 Hello, Android:第一个Android App
创建新的Android应用程序
7.3 导航一个Android应用程序项目
7.3.1 重要的内容
7.3.2 其他重要内容
7.4 Android概念基础
7.4.1 Activity
7.4.2 XML
7.4.3 布局
7.4.4 Fragments
7.4.5 AndroidManifest.xml
7.5 重新编写Hello World
7.5.1 创建MainActivity
7.5.2 添加onCreate()
7.5.3 创建布局
7.5.4 添加Widget
7.5.5 setContentView(...)方法
7.6 运行Android应用程序
7.6.1 使用模拟器
7.6.2 调试FirstApp
7.6.3 使用物理设备
7.7 Activity生命周期
7.7.1 为什么Activity生命周期重要
7.7.2 View
7.7.3 事件处理
7.7.4 绘制视图
7.8 响应事件并启动另一个Activity
7.8.1 创建SecondActivity类
7.8.2 创建内容视图
7.8.3 给CustomView添加变量
7.8.4 绘制CustomView
7.8.5 处理触摸事件
7.8.6 设置新的CustomView
7.8.7 创建按钮
7.8.8 设置按钮的OnClickListener
7.8.9 可选项:匿名的内联类
7.8.10 开始一个新的Activity
7.9 LogCat:调试基础
7.10 在Android游戏开发之路上继续前进
第8章 Android游戏框架
8.1 理解一般规则
8.2 构建Android游戏框架
8.2.1 设计框架
8.2.2 说明修改
8.2.3 创建项目
8.2.4 创建GameMainActivity
8.2.5 注册Activity
8.2.6 运行应用程序
8.2.7 单Activity的游戏
8.2.9 将GameView设置为内容视图
8.3 讨论GameView的部件
8.3.1 当前状态
8.3.2 处理输入
8.3.3 处理绘制
8.3.4 画布和内存管理
8.3.5 屏幕分辨率vs.游戏分辨率
8.4 构建State、InputHandler和Painter类
8.4.1 Painter
8.4.2状态
8.4.3 InputHandler
8.5 添加资源
8.5.1 res文件夹
8.5.2 下载图像文件
8.5.3 添加图标文件
8.5.4 添加欢迎图像
8.5.5 创建Assets类
8.5.6 内存vs.文件系统
8.5.7 从asset文件夹加载图像
8.5.8 从assets文件夹加载声音
8.6 创建State类
8.7 创建GameView类
8.7.1 声明变量
8.7.2 初始化图形变量
8.7.3 添加SurfaceHolder回调
8.7.4 在DDMS Perspective中测试应用程序
8.7.5 设置输入
8.7.6 设置初始状态
8.7.7 实现游戏循环线程
8.7.8 运行应用程序
8.7.9 创建Animation、Frame和RandomNumberGenerator类
8.8 总结
第9章 构建游戏
9.1 准备项目
9.1.1 复制框架
9.1.2 下载和设置图标
9.1.3 下载资源
9.1.4 加载资源
9.2 实现模型类
9.2.1 实现Cloud类
9.2.2 实现Block类
9.2.3 实现Player类
9.3 实现状态类
9.3.1 修改MenuState
9.3.2 创建一个UIButton类
9.3.3 实现PlayState
9.3.4 实现触摸控制
9.3.5 实现GameOverState
9.4 另一个里程碑
9.5 让它更快:优化游戏
9.5.1 加载游戏:节约内存
9.5.2 游戏过程中:避免垃圾收集
9.5.3 垃圾收集的问题
9.5.4 避免内存分配
9.5.5 发现内存泄露并记录内存分配
9.6 实现高分系统
9.6.1 规划高分系统
9.6.2 提供访问器方法
9.6.3 设置高分
9.6.4 实现ScoreState
第4部分 实现触摸
第10章 发布游戏
10.1 准备好游戏
10.1.1 修改包名
10.1.2 创建APK
10.1.3 选择市场
10.2 在Google Play发布游戏
10.2.1 创建一个开发者账户
10.2.2 创建一个新的应用
10.3 更新游戏
10.3.1 资源管理bug
10.3.2 暂停游戏
10.3.3 给Assets和State类添加onPause()和onResume()方法
10.3.4 给GameView和GameMainActivity类添加onResume()和onPause()方法
10.3.5 实现PlayState的暂停
10.3.6 添加音乐
10.3.7 将更新后的APK上传到Google Play
10.4 集成Google Play游戏服务
10.4.1 玩家的视角
10.4.2 开发者视角
10.4.3 自行完成:集成Google Play游戏服务
10.4.4 下载源代码
第11章 继续旅程
11.1 发布游戏
11.2 附加资源
11.3 继续前进
11.3.1 路径I:学习使用游戏引擎或游戏框架
11.3.2 路径II:学习游戏开发技术
11.4 结束语
附录A 再谈static
使用static
附录B 移动的简单物理
附录C 7步构建Andriod游戏
步骤1:设计游戏
步骤2:下载最新的Android游戏开发框架
步骤3:更新图标
步骤4:更新包名称
步骤5:构建游戏
步骤6:集成Google Play游戏服务(可选)
步骤7:部署游戏并营销它
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜