Android游戏开发教程之八:数据库SQLite
分类标签: SQLite
数据库SQLite介绍 数据库最经典的四个操作 添加、删除、修改、查找,在处理大量数据的时候使用数据库可以帮我们迅速定位当前须要处理的数据,举个例子 好比现在要实现一个搜索功能 用数据库的话只须要其中一个搜索条件 一个数据库语句就可以迅速的在N条数据中找到我们需要的数据,如果不使用数据库那么查找起来会非常麻烦,效率大打折扣阅读全文 »
Android游戏开发教程之七:主角与地图的滚动
分类标签: 动画
人物移动地图的平滑滚动处理 玩过rpg游戏的朋友应该都知道RPG的游戏地图一般都比较大 今天我和大家分享一下在RPG游戏中如何来处理超出手机屏幕大小的游戏地图。 如图所示为程序效果动画图 地图滚动的原理 在本人之前博客的文章中介绍过人物在屏幕中的移动方式,因为之前拼的游戏地图是完全填充整个手机屏幕的,所以无需处理地图的平滑滚动。阅读全文 »
Android游戏开发教程之六:进度条加载
分类标签: ProgressBar
由于Android开发 横竖屏的切换会给游戏开发造成非常麻烦的事情 所以在游戏的制作当中会强制手机屏幕横屏或者竖屏避免横竖屏切换造成的数据重置 即使让程序不在切换屏幕后调用onCreat()方法 也会带来屏幕自适应的麻烦 所以Android的游戏一般都会强制横屏或者强制竖屏。阅读全文 »
Android游戏开发教程之五:View与SurfaceView的区别
分类标签: View SurfaceView Canvas
由此可见View类属于Android开发绘制中的显示老大,任何与绘制有关系的控件都是它的子类。在这篇文章中我主要讲View 与SurFaceView 使用线程刷新屏幕绘制方面的知识。开发中如何去选择使用View还是SurFaceView。我相信读过我前几篇博客的朋友应该知道我在刷新屏幕的时候使用invalidate()方法来重绘,下面我详细的说明一下Andooid刷新屏幕的几种方法。阅读全文 »
Android游戏开发教程之四:碰撞检测
分类标签: 按键
游戏碰撞的大致可以分为这几种类 1.主角与边界的碰撞,限制主角不能走出手机屏幕外。 2.主角与物理层的碰撞,与地图中的房子 桌子 椅子等等。 3.主角与游戏人物之间的碰撞,这里指NPC等。 4.主角与脚本框发生的碰撞,例如走进房间出线一段剧情对话等等。 由此可见游戏中的碰撞主要是可以分为 1.点与矩形之间的碰撞 阅读全文 »
Android游戏开发教程之三:帧动画
分类标签: 动画
1. 帧动画的原理 帧动画帧动画顾名思义,一帧一帧播放的动画就是帧动画。 帧动画和我们小时候看的动画片的原理是一样的,在相同区域快速切换图片给人们呈现一种视觉的假象感觉像是在播放动画,其实不过是N张图片在一帧一帧的切换罢了。阅读全文 »
Android游戏开发教程之二:摄像头更新
分类标签: 摄像头
游戏中摄像头的原理介绍 在游戏开发中更新摄像头的位置可以决定屏幕显示的内容,尤其是RPG类游戏摄像头有着非常重要的作用,我举一个例子,有时候我们在玩RPG游戏的时候进入一个新的场景,触发一段脚本后,发现镜头开始向上移动,根据镜头移动玩家可以大概浏览一下这个场景有什么东西 ,触发什么样的剧情。阅读全文 »
Android游戏开发教程之一:地图编辑器
分类标签: Activity
中文地图编辑器的使用说明 压缩包中包含 游戏地图编辑器使用指南 与地图资源图片 宫院1.png 一张 mapwin.exe 可执行文件 map.FMP 与map.TXT为使用编辑器生成出来的保存文件与地图数组。阅读全文 »
Android游戏引擎libgdx使用教程17:TiledMap中角色的行动路径
分类标签: 游戏引擎
前些日子的文章介绍了tiledmap的主角出现和移动等等问题。相对于主角游戏自然还应该有敌人(?)。 与主角不同的是,这些元素的移动时程序控制的,一般有3种。 1.随主角的移动变化,靠近主角或远离主角 2.按照固定路线移动 3.不动阅读全文 »
Android游戏引擎libgdx使用教程16:使用TexturePacker工具加快开发速度
分类标签: 游戏引擎
libgdx绝对是一个相当不错的游戏引擎,最近一段时间的学习我感觉收获很多。但是我一直对于libgdx加载的图片大小必须是2的次方感到很纠结。 如果是一张一般的图片想在libgdx中使用的话就需要自己去用ps什么的把图像拉一下,一两张没关系,但是数量大了还是有点烦。阅读全文 »
Android游戏引擎libgdx使用教程15:TWL布局
分类标签: 游戏引擎
TWL是一个基于OpenGL的图形化用户界面库,它提供了一套非常丰富的窗口小部件,比如标签,编辑框,表格等等。不同的布局方式配合使用可以创建出非常高级的用户界面。 TWL我原来接触过,但是觉得配置文件太难写了,今天逛论坛发现了官方出了Theme编辑器,马上来试试。阅读全文 »
Android游戏引擎libgdx使用教程14:TiledMap中视角完善与障碍物处理
分类标签: 游戏引擎
上文TiledMap中的角色和角色移动说到绘制了Map,然后我们的主角也可以四处活动了,但是仍有一些不完善的地方。 1.地图的边界没有控制。Camera的位置其实是viewport的位置,不是屏幕边界,所以如果直接按照上文的做法做的话主角走到屏幕边缘的时候就有问题了。 2.没有障碍,主角的行动没有约束。 现在先来解决第一个问题。 解决方案很简单,我们时刻注意viewport的位置阅读全文 »
Android游戏引擎libgdx使用教程13:TiledMap中的角色和角色移动
分类标签: 游戏引擎
本文接上文:Android游戏引擎libgdx使用教程12:如何使用TiledMap地图 地图我们创建好了接下来就是主角的出现。其实上文介绍了如何TiledMap和Stage的结合,角色的处理就简单了。 可以继承Actor类创建主角类,我就偷个懒,用Image代替。 编辑我们的TMX文件,添加一个对象层。 在主角要出现的地方加个形状。阅读全文 »
Android游戏引擎libgdx使用教程12:如何使用TiledMap地图
分类标签: 游戏引擎
虽说可以用Image什么的当个背景,但是要是做个RPG类的游戏就有点复杂了。为了追求效率一般可以使用libgdx的SpriteCache,但是如果习惯于TiledMap的话libgdx也是支持的。 相关的类是TiledMap,TileAtlas,TileMapRenderer,都在com.badlogic.gdx.graphics.g2d.tiled之中。现在我们从头来看看TiledMap的使用。阅读全文 »
Android游戏引擎libgdx使用教程11:如何使用Skin和UI配置文件
分类标签: 游戏引擎
libgdx的UI改进很大,原来各种稀奇古怪的问题都已经解决了,而且UI的类型也基本上完全了。推荐大家下载最近的版本使用。 UI的使用我觉得唯一复杂的就是各种样式的制定,比如TextButton:...再看看List:... 每次使用都需要实例化若干个Texture,NinePatch什么的还是有点麻烦,还好libgdx给出了一个解决方案:Skin。阅读全文 »
Android游戏引擎libgdx使用教程10:双舞台
分类标签: 游戏引擎
游戏屏幕最常见的就是一个变化较少的背景加上一系列和用户交互的角色和部件。为了方便管理你还可以为背景建个Group方便管理。 但是有时候写的时候没有想到这个问题,或者是背景不是单纯的一个图片什么的,背景和角色还有一些混合逻辑分布在两个Stage里。我重写太麻烦,想想反正都是SpritBatch绘制出来的,用双舞台大不了多个摄像头。阅读全文 »
Android游戏引擎libgdx使用教程9:libgdx中Box2d的用法
分类标签: 游戏引擎
在游戏开发中难免会需要模拟现实情况,一般常见的就是模拟物理世界。 比如物体碰撞,车辆前进,物体下落等。也许有人会觉得原来有实现过一些效果没有看到用什么物理知识呢。 在我看来引入物理引擎并不是必须的,但是这样可以让游戏更逼真。物理引擎的话首选Box2d,但是它是C++写的,直接用不方便。 在Android游戏开发中使用物理引擎一般有三个比较好的选择: 1.JBox2d Box2d的Java移植版本,阅读全文 »
Android游戏引擎libgdx使用教程8:相机和观察点
分类标签: 游戏引擎
上一节中讲了libgdx引擎框架总观,本节讲讲相机和观察点。 相机也可以成为观察者,最简单的例子就是魂斗罗。 玩家操作角色前进,后退,跳跃等,显示的世界(就是后面的背景)会不停变化。 其实就是相机的观察点(视角)的改变引起的。 也许游戏的世界(背景地图)很大,比如10240*480,而设备的分辨率是800*480。阅读全文 »
Android游戏引擎libgdx使用教程7:引擎框架总观
分类标签: 游戏引擎
前面几节主要讲了libgdx框架一些基本类的使用方法,还分享了一部分源码,要进行实际开发只掌握几个类是不够的,还需要对libgdx框架有宏观的、整体的了解。 1、应用的生命周期 游戏应该高效和稳定,特别是对于android平台。目前的开发都是面向手机和平板。如果有效的管理资源,如何高效的运行都是非常重要的。阅读全文 »
Android游戏引擎libgdx使用教程6:演员与演出
分类标签: 游戏引擎
上一节讲了常用UI类和舞台,本节我们已经能够很容易的制作一出戏了。 因为actor类在绘制是以x、y值为基准,所以我们可以通过控制x、y值变化演员的位置,但是演员的其他效果需要配合Action类进行操作。 Action类是一个抽象类,所有的具体实现都在com.badlogic.gdx.scenes.scene2d.actions包中。阅读全文 »