小苏子
小苏子PDF在线图书

Android游戏编程之从零开始 内容简介

Android游戏编程之从零开始 内容简介

Android游戏编程之从零开始 目录

Android游戏编程之从零开始 精彩文摘

《Android游戏编程之从零开始》主要系统地讲解了Android游戏开发,从最基础部分开始,让零基础的Android初学者也能快速学习和掌握Android游戏开发。《Android游戏编程之从零开始》一共8章,内容包括Android平台介绍与环境搭建、Hello,Android!项目剖析、游戏开发中常用的系统组件、游戏开发基础、游戏开发实战、游戏开发提高篇、Box2d物理引擎、物理游戏实战。随书光盘包括全书65个项目源代码。《Android游戏编程之从零开始》适合Android游戏开发的初学者使用,也适合作为Android游戏培训的教材和高校游戏专业师生的参考书。第1章 Android平台介绍与环境搭建1.1 Android平台简介/21.1.1Android操作系统平台的优势和趋势/21.1.2AndroidSDK与AndroidNDK/21.2 Android开发环境的搭建/31.2.1搭配环境前的准备工作/31.2.2安装和配置环境/61.2.3SDK版本更新/111.3 本章小节/13第2章 Hello,Android!2.1 创建第一个Android项目/152.2 剖析AndroidProject结构/162.3 AndroidManifest.xml与应用程序功能组件/202.3.1AndroidManifest的xml语法层次/202.3.2—Activity(活动)/212.3.3—Intent(意图)与BroacastReceiver(广播接收)/212.3.4—服务/222.3.5—ContentProvider(内容提供者)/222.4 运行Android项目(启动Android模拟器)/232.5 详解第一个Android项目源码/252.6 Activity生命周期/282.6.1单个Activity的生命周期/282.6.2多个Activity的生命周期/322.6.3AndroidOS管理Activity的方式/342.7 Android开发常见问题/342.7.1AndroidSDK与GoogleAPIs创建Emulator的区别/342.7.2将Android项目导入Eclipse/352.7.3在Eclipse中显示Android开发环境下常用的View窗口/372.7.4在Eclipse中利用打印语句(Log)调试Android程序/382.7.5在Eclipse中真机运行Android项目/392.7.6设置AndroidEmulator模拟器系统语言为中文/392.7.7切换模拟器的输入法/392.7.8模拟器中创建SDCard/402.7.9模拟器横竖屏切换/402.7.10打包Android项目/402.8 本章小结/45第3章 Android游戏开发常用的系统控件3.1 Button/473.2 Layout/523.2.1线性布局/523.2.2相对布局/573.2.3表格布局/623.2.4绝对布局/663.2.5单帧布局/683.2.6可视化编写布局/703.3 ImageButton/713.4 EditText/743.5 CheckBox/763.6 RadioButton/793.7 ProgressBar/823.8 SeekBar/853.9 TabSpec与TabHost/873.10 ListView/913.10.1ListView使用ArrayAdapter适配器/913.10.2ListView使用SimpleAdapter适配器的扩展列表/933.10.3为ListView自定义适配器/963.11 Dialog/1003.12 系统控件常见问题/1053.12.1Android中常用的计量单位/1053.12.2Context/1063.12.3Resources与getResources/1073.12.4findViewById与LayoutInflater/1073.12.5多个Activity之间跳转/退出/传递数据操作/1083.12.6横竖屏切换处理的三种方式/1123.13 本章小结/114第4章 游戏开发基础4.1 如何快速的进入Android游戏开发/1164.2 游戏的简单概括/1184.3 Android游戏开发中常用的三种视图/1184.4 View游戏框架/1194.4.1绘图函数onDraw/1224.4.2按键监听/1244.4.3触屏监听/1284.5 SurfaceView游戏框架/1304.5.1SurfaceView游戏框架实例/1304.5.2刷屏的方式/1354.5.3SurfaceView视图添加线程/1364.6 View与SurfaceView的区别/1424.7 Canvas画布/1434.8 Paint画笔/1484.9 Bitmap位图的渲染与操作/1514.10 剪切区域/1624.11 动画/1684.11.1Animation动画/1684.11.2自定义动画/1734.12 游戏适屏的简述与作用/1794.13 让游戏主角动起来/1814.14 碰撞检测/1874.14.1矩形碰撞/1884.14.2圆形碰撞/1904.14.3像素碰撞/1924.14.4多矩形碰撞/1934.14.5Region碰撞检测/1964.15 游戏音乐与音效/1984.15.1MediaPlayer/1984.15.2SoundPool/2034.15.3MediaPlayer与SoundPool优劣分析/2074.16 游戏数据存储/2074.16.1SharedPreference/2084.16.2流文件存储/2124.16.3SQLite/2184.17 本章小结/219第5章 游戏开发实战演练5.1 项目前的准备工作/2215.2 划分游戏状态/2225.3 游戏初始化(菜单界面)/2245.4 游戏界面/2295.4.1实现滚动的背景图/2305.4.2实现主角以及与主角相关的元素/2315.4.3怪物(敌机)类的实现/2365.5 游戏胜利与结束界面/2605.6 游戏细节处理/2615.6.1游戏Back返回键处理/2615.6.2为游戏设置背景常亮/2625.7 本章小结/262第6章 游戏开发提高篇6.1 360°平滑游戏导航摇杆/2646.2 多触点实现图片缩放/2686.3 触屏手势识别/2706.4 加速度传感器/2746.5 9patch工具的使用/2786.6 代码实现截屏功能/2836.7 效率检视工具/2856.8 游戏视图与系统组件共同显示/2886.9 蓝牙对战游戏/2906.10 网络游戏开发基础/3076.10.1Socket/3086.10.2Http/3136.11 本地化与国际化/3176.12 本章小结/320第7章 Box2D物理引擎7.1 Box2D概述/3227.2 将Box2D类库导入Android项目中/3227.3 物理世界与手机屏幕坐标系之间的关系/3247.4 创建Box2D物理世界/3257.5 创建矩形物体/3277.6 让物体在屏幕中展现/3297.7 创建自定义多边形物体/3307.8 物理世界中的物体角度/3317.9 创建圆形物体/3327.10 多个Body的数据赋值/3337.10.1遍历Body/3337.10.2自定义类关联Body/3357.11 设置Body坐标与给Body施加力/3387.11.1手动设置Body的坐标/3387.11.2给Body施加力/3387.12 Body碰撞监听、筛选与Body传感器/3417.12.1Body碰撞接触点监听/3417.12.2Body碰撞筛选/3427.13 关节/3467.13.1距离关节/3467.13.2旋转关节/3487.13.3齿轮关节/3497.13.4滑轮关节/3517.13.5移动关节/3537.13.6鼠标关节/3567.14 通过AABB获取Body/3587.15 物体与关节的销毁/3607.16 本章小结/361第8章 Box2D物理游戏实战8.1 迷宫小球游戏实战/3638.2 堆房子游戏实战/3828.3 本章小结/392(2)设置物理世界的重力向量(gravity),其两个参数在这里分别表示物理世界中的X轴与Y轴方向上的重力数值,其值的“+” “—”号在这里表示X与Y轴的重力方向,X轴正值表示向右,Y轴正值表示向下;因为是模拟真实世界,所以这里的X重力向量设置为零,Y轴方向设置为现实生活中的重力值:10(可以理解为10N)。刚才的一段代码就已经创建了一个物理世界,但只是定义了物理世界,并没有开始进行物理模拟,所以还需要world设置物理模拟:world,step(float timeStep,int iterations);此函数表示让物理世界开始进行物理模拟,其两个参数含义如下:第一个参数:表示(时间步)物理世界模拟的频率;第二个参数:表示(迭代值)迭代值越大模拟越精确,但性能越低。这里要注意以下几点:①因为物理世界模拟具有持续性,所以应该将设置放在线程中,不断的让物理世界进行模拟。②时间步:应该与游戏的刷新率相同,否則物理世界模拟将不同步。③迭代值:可以理解为在单次时间步中进行遍历模拟运算数据的次数。④在Box2D中最常使用的单位是float浮点数类型,作者刚接触Box2D时,在定义物理世界模拟频率时,写成了以下错误的形式:float timeStep=1/60;这样写导致物理世界的物体永远不运动,其原因就是“1/60”的值永远是零!所以正确书写形式应该是:float timeStep=If/60f;到此一个物理世界真正的创建出来并且进行模拟了,但是因为物理世界中并没有放置任何的物体,所以运行项目在视觉中将看不到任何的效果,下面的章节中将开始在物理世界中创建物体。作者推荐物理模拟的频率一般设为每秒60帧,迭代设为10,具体设置根据应用和设备性能情况而定。 在后续创建物体和关节的章节中,很多代码需要传入以“米”作为单位的数值,所以为了便于转换,可以定义一个成员变量。

赞(0)
未经允许不得转载:小苏子图书 » Android游戏编程之从零开始 内容简介