Libgdx
文章平均质量分 50
zqiang_55
这个作者很懒,什么都没留下…
展开
-
7.Libgdx扩展学习之Box2D_距离关节 旋转关节
文章中的概念来自《Box2D》中文手册上一节中我们介绍了关节和鼠标关节的使用方法,本章中我们继续介绍距离关节和旋转关节距离关节(DistanceJoint)距离关节是两个物体上各有一点,两点之间的距离必须固定不变。当指定一个距离关节时,两个物体必须已在应有的位置上。之后指定世界坐标中的两个锚点。第一个锚点连接到物体1,第二个锚点连接到物体2。这两点隐含距离约束的长度。原创 2017-01-12 21:02:25 · 2586 阅读 · 0 评论 -
Libgdx生命周期和模块介绍
Libgdx生命周期及模块介绍Libgdx 游戏实现了ApplicationAdapter ,ApplicationAdapter包含了整个游戏的生命周期,ApplicationAdapter 又继承自ApplicationListener。原创 2016-03-18 21:46:12 · 2881 阅读 · 0 评论 -
Libgdx之Game场景切换Screen
在实际开发中我们需要在不同的时候切换不同游戏场景,比如需要有游戏设置界面、有些菜单界面和游戏主界面。Screen 游戏场景在Libgdx中Screen代表了一个游戏场景,有点类似coco2d-x中的Scene,但是Screen不能独立存在,必须依靠Game来切换。 官方的注释: Screen代表了应用程序中众多的场景之一(Screens),例如:主菜单,设置菜单,游戏场景等。Screen不会自动原创 2016-10-10 20:14:33 · 3899 阅读 · 0 评论 -
Libgdx之Pixmap
前面的博客中我们介绍了Stage,在Libgdx中我们可以使用Stage来切换游戏界面,可以一个Stage就是一个界面。 但是, Libgdx还提供了另外一个方法Game和Screen来管理游戏界面。 Game implements ApplicationListener,是游戏core部分的核心入口,可以是应用程序在不同的Screen之间随意的切换,下面浏览源码注意注释的部分public abs原创 2016-07-21 21:28:06 · 3787 阅读 · 0 评论 -
Libgdx之正交相机 OrthographicCamera
本翻译自Libgdx Wiki 本文主要介绍OrthographicCamera相机类和用法。OrthographicCamera是正交相机,用在2D游戏开发中,无论游戏物体放在游戏世界中的那个位置,用正交相机看到的物体都不会被缩放。描述正交相机的操作非常简单,就像我们在现实世界中操作相机一样,文章中主要介绍: 相机的移动和旋转相机的放到和缩小改变相机的视窗大小在窗口(wi翻译 2016-08-09 21:38:59 · 7193 阅读 · 0 评论 -
Libgdx之AssetManager 资源管理器及进度条的实现
概述在前面我们用到的游戏资源,是直接加载的,由于只是一个demo,资源比较少,因此看不出时间用到的长短。实际上我们在游戏开发过程中用到的图片,声音等资源比较多,这时加载游戏过程中会出现黑屏现象,其实就是后台在加载资源了,这时我们需要AssetManager来异步加载资源,同时实现进度条给用户友好的体验。 简单介绍AssetManager中常用的方法 * void clear()原创 2016-07-20 21:25:24 · 4618 阅读 · 1 评论 -
Libgdx之XML文件解析
在游戏开发过程中,经常需要保存游戏数据,XML文件就是一个不错的选择。Libgdx也提供我们一个轻量级的解析工具XmlReader,XmlReader能够解析出XML文件的子元素,属性,文本等,同时要保证文件是UTF-8编码,否则文件无法解析 public XmlReader.Element parse(FileHandle file) throws java.io.IOException 方法原创 2016-07-07 22:23:18 · 3195 阅读 · 0 评论 -
Libgdx之国际化 中英文菜单切换
有时候我们做的游戏不仅仅发布在国内市场,有时候也需要发布在国际市场,这时候我们至少需要中英2套菜单来供不同的玩家使用,毕竟中文不是每个人都能看懂。 Libgdx中提供了I18NBundle来供我们使用,I18NBundle提供了一套机制可以使我们从属性(properties)文件中加载资源, 属性文件中的资源是以”name”和”values”的形式存在的,而且资源最好有一个父文件,这样防止资源丢失原创 2016-07-16 17:50:28 · 4401 阅读 · 0 评论 -
Libgdx 之Actions 动作类
Libgdx提供了一下Action类来实现简单动画。动作类主要分为2类,一个是控制类,一个是表现类。Libgdx提供了Actions类来方便管理各个动作类,可以直接通过Actions调用控制类,主要控制表现类来执行SequenceAction sequence (Action… actions) 将添加的Actions按添加的顺序依次执行ParallelAction parallel (Act原创 2016-06-18 17:56:19 · 4297 阅读 · 5 评论 -
Libgdx之数据保存 和 数据加密
Libgdx 中使用Preference以哈希表的形式进行数据的保存,在桌面版保存在目录”.prefs”下面,注意所有桌面的Preference都保存在.prefs目录下,所以文件名最好以”com.myname.game1.settings”而不是”Settings” 只有调用方法flush才会将数据从内存保存到磁盘上 Gdx.app.getPreferences(String filename原创 2016-07-03 16:25:13 · 5733 阅读 · 0 评论 -
Libgdx之粒子系统
游戏开发过程中不免要用到各种特效,比如水流、烟雾、火焰等效果,如果使用Sprite实现不仅耗内存,而且复杂。幸好Libgdx提供了粒子系统来帮助我们实现这些这些效果。 1. com.badlogic.gdx.graphics.g2d.ParticleEmitter.Particle extends Sprite 粒子。每一个粒子本质上都是一个小图片,作为粒子编辑器的图片不要过大,经过粒子原创 2016-10-25 21:20:32 · 3733 阅读 · 0 评论 -
Libgdx之截图
public class ScreenShotTest extends ApplicationAdapter { Stage stage; TextButton btn; @Override public void create() { stage = new Stage(); TextButton.TextButtonStyle styl翻译 2016-10-31 21:09:50 · 2005 阅读 · 0 评论 -
6.Libgdx扩展学习之Box2D_鼠标关节
下面一些内容定义来自《Box2D中文手册》关于关节用于把物体约束到世界,或约束到其它物体上。在游戏中,典型例子有木偶,跷跷板和滑轮。用不同的方式将关节结合起来使用,可以创造出有趣的运动。 有些关节提供了限制(limit),使你可以控制运动的范围。有些关节还提供了马达(motor),它可以以指定的速度驱动关节一直运动,直到你指定了更大的力或扭矩来抵消这种运动。原创 2017-01-05 22:56:15 · 1632 阅读 · 0 评论 -
5.Libgdx扩展学习之Box2D_刚体的运动和贴图
主要根据这2篇文章来写的: 1. http://bbs.9ria.com/thread-135588-1-1.html 2. http://bbs.9ria.com/thread-137127-1-1.html到现在我们已经初步的认识了Box2D, 但是我们创建的刚体,还总是在原地不断的蹦来蹦去,那么现在让刚体动起来吧!1. 给物体一个力– ApplyForceApplyForce方法原创 2016-12-22 21:02:04 · 2406 阅读 · 0 评论 -
libgdx之瓦片地图(TiledMap)
把草稿删了,没想到也把发表的文章给删了,只好重新写了。不得不吐槽一下CSDN的博客系统。 简介在我们开发游戏过程中,我们需要设置不同的关卡,如果我们直接使用使用图片来加载游戏,这将会使我们的游戏安装包本身变得非常臃肿。不过好在Libgdx给我们提供了瓦片地图,我们可以直接使用编辑器来编辑地图,然后使用Libgdx提供的API解析加载,而且地图图片还可以在不同地图上重复使用,节约了游戏安装包的空间。原创 2016-11-25 21:03:36 · 7738 阅读 · 1 评论 -
2.Libgdx扩展学习之Box2D_刚体和形状
文章中涉及的很多概念,都是来自《Box2D中文手册》。有统一的解释方便理解。物体(刚体/Body)概念介绍物体具有位置和速度。可以将力(forces)、扭矩(torques)、冲量(impulses)应用到物体上。 物体可以是静态的(static)、运动但不受力的(kinematic)或动态的(dynamic)。这是物体的类型定义: 1.Static Body static 物体在模拟时原创 2016-12-07 21:03:29 · 3599 阅读 · 0 评论 -
4.Libgdx扩展学习之Box2D_创建多边形刚体和圆角矩形
主要是根据这2篇博客来写的 1. http://bbs.9ria.com/thread-136661-1-1.html 2. http://bbs.9ria.com/thread-136794-1-1.html前面的博客主要介绍了Box2D的主要概念,让我们熟悉了Box2D的主要框架。但是在现实生活中我们的遇到的物体时各种各样的,需要创造更复杂的刚体。 下面主要介绍原创 2016-12-12 19:50:07 · 2659 阅读 · 0 评论 -
1.Libgdx扩展学习之Box2D_入门介绍
文章中涉及的很多概念,都是来自《Box2D中文手册》。有统一的解释方便理解。Box2D简单介绍Box2D 是一个用于游戏的 2D 刚体仿真库, 是用可移植的C++写成的。程序员可以在他们的游戏里使用它,它可以使物体的运动更加真实,并让游戏世界看起来更具交互性。 Box2D 就是用物理学的方法,推导出那游戏世界物体的位置,角度等数据。而 Box2D 也仅仅推导出数据,至于得到数据之后怎么处理就是程原创 2016-12-01 21:49:43 · 3108 阅读 · 0 评论 -
Libgdx教程目录
本教程用的Libgdx 1.9.2版本,在教程更新完毕之前应该不会更新版本原创 2016-03-13 16:19:14 · 9111 阅读 · 7 评论 -
3.Libgdx扩展学习之Box2D_夹具
文章中涉及的很多概念,都是来自《Box2D中文手册》。有统一的解释方便理解夹具概念介绍形状不知道物体的存在,并可独立于物理模拟而被使用。因此 Box2D 提供 Fixture 类,用于将形状附加到物体上。一个物体可以有零个或多个 fixture。拥有多个 fixture 的物体有时被叫做组合物体。 fixture具有下列属性: 关联的形状broad-phase 代理密度(density)、原创 2016-12-10 20:54:43 · 2102 阅读 · 0 评论 -
Libgdx之游戏源码合集
教程写到这里,Libgdx的基本功能是已经讲完了,之后打算讲解一下Libgdx的扩展的知识,比如Box2D、AI等知识。 本页主要收集了Libgdx的一些开源代码,会不定期更新!!!2048: https://github.com/xietansheng/Game2048ForGDX FlappyBird: https://github.com/xietansheng/FlappyBirdF原创 2016-11-29 22:23:13 · 6030 阅读 · 2 评论 -
Libgdx之JSON文件解析
上一节我们学习了XML文件的解析,接下来我们再了解JSON文件的解析。在Libgdx中也提供了Json类来帮助我们解析文件,最常用的方法是fromJson(java.lang.Class type, FileHandle file) 通过此方法我们必须先定义一个内部类来抽象的表示Json文件。原创 2016-07-11 21:42:38 · 6947 阅读 · 4 评论 -
Libgdx 之CheckBox ScrollPane
CheckBox 复选框CheckBox extends TextButton,其实CheckBox就是继承自TextButton,然后里面添加了 Image 控件,可以知道CheckBox的状态是否被选中, checkBox.isChecked()ScrollPane 滑动列表ScrollPane extends WidgetGroup, 默认大小是(150, 150)原创 2016-06-15 21:52:14 · 6624 阅读 · 0 评论 -
Libgdx之Group
Libgdx之GroupGroup可以说Libgdx中非常好用的一个组件,可以把其余的Actor封装在一起,然后赋予同样的Actions或者Position等。 Group的坐标是从左下角开始的,如果将设置Group.setPosition(0,0) 那么就是从屏幕左下角开始。原创 2016-06-06 22:07:18 · 5758 阅读 · 0 评论 -
Libgdx 之BitmapFont 字体
前面介绍了怎么将图片在屏幕上渲染出,但是一个游戏仍然需要文字来说明。在Libgdx中用BitmapFont来处理文字。BitmapFont的简单说明BitmapFont(位图字体)使用Batch来渲染,BitmapFont字体包含2个文件.png 和 .fnt。 .fnt文件描述了位图字体的位置,大小等等信息。原创 2016-04-03 21:36:00 · 5158 阅读 · 0 评论 -
Libgdx之监听用户输入
做游戏的最重要的是要与用户有交互,怎样与用户交互Ligdx提供了2种方式。Libgdx事件查询(Event Polling)这种方式主要是Libgdx主动查询当前的状态,通过这种方式我们可以查询键盘输入,鼠标事件,加速器等状态 事实上主动查询事件是在render()方法中调用,意味每一帧我们都会来查询事件状态。原创 2016-04-04 11:39:58 · 4533 阅读 · 0 评论 -
Libgdx之Viewport 屏幕适配
在游戏开发的时候我们一般会设置一个世界的大小,这个大小是固定的,游戏的位置也是固定的。但是Android的各种分辨率,为了使游戏元素在不同的分辨率显示在相同比例的位置上,我们需要为游戏做适配。不过好在Libgdx给我定义了Viewport。原创 2016-04-07 21:21:58 · 5816 阅读 · 0 评论 -
Libgdx之Animation 动画
一个好的游戏总归需要动画,Libgdx提供了Animation类来管理控制动画。 Animation: 储存了一组TextureRegion,然后顺序播放。例如在主角奔跑、跳跃的时候都需要用到Animation。每一个TextureRegion都是一帧,多帧组成了一组动画。原创 2016-04-14 21:35:50 · 7935 阅读 · 0 评论 -
Libgdx之Music Sound 音效
一个好的游戏,如果没有游戏音效那么这个游戏就过于简单乏味。Libgdx中常用的游戏音效有2中,一种是Music,这种音频文件以流媒体的方式加载,一般文件比较大。还有一种是Audio,这种音频文件一般比较小,直接加载在内存中,主要用于枪声、起跳的声音。原创 2016-04-16 20:36:59 · 3606 阅读 · 0 评论 -
Libgdx之ProgressBar (进度条) Slider(滑动条)
ProgressBar 即进度条,extends Widget。展示了在给定范围内时间/加载进度。PreferHeight是由给定的背景图片或者knob的最大高度决定的,默认的宽度width是140.Slider 滑动条,一般在游戏中设置调节音量或者调节游戏难度等等。 Slider就是一水平的指示条,允许用户设值。Extends ProgressBar 因此也具有一个min max值,一个移动步调原创 2016-05-24 21:58:21 · 7271 阅读 · 0 评论 -
Libgdx 之SpriteBatch深入分析
Libgdx共享资源因为Libgdx可以在多平台上运行,因此理论上资源应该放在core目录下,因为Android和桌面版都包含主目录。但是Android对于如何存放这些文件有严格的规则,我们必须把资源放在固定的目录下。因此如果创建的工程需要在Android设备下运行的话,必须把资源放在Android项目自动创建的资源目录下。如果只是练习的可以放在core工程下面。SpriteBatch的使用一 从原创 2016-03-27 17:07:01 · 4244 阅读 · 0 评论 -
Libgdx 之Actor 演员类
上一篇我们介绍了Libgdx中舞台类,按照类的继承图,我们应该介绍Actor类,从截图中我们知道Libgdx中的UI控件都是继承自Actor。 前面我们也介绍过Sprite类,Actor有点类似于Sprite类,保存位置,大小,颜色,旋转中心,缩放以及Actions等原创 2016-04-25 22:10:27 · 6494 阅读 · 0 评论 -
Libgdx介绍及环境安装
Libgdx介绍Libgdx是一款跨平台的游戏引擎,目前支持的平台有windows, Mac-os,Linux,Android,IOS,HTML5等等,底层封装了OpenGL,上层是用Java封装的API,虽然说一直说Libgdx是一个游戏框架,但是目前Libgdx也有UI编辑器Overlay2,目前第三方在维护,而且Libgdx也封装了Box2d,支持Spine动画,从下面就可以看出Libgdx支原创 2016-03-13 20:31:45 · 4653 阅读 · 0 评论 -
Libgdx之Sprite 精灵类
已经介绍了这么多容器类来加载图片,下面出场的的是Sprite,也就是精灵类,这个可以说是集大成者,里面封装了更多的方法来操作纹理。 Sprite可以保存几何属性,大小(size, width, height),位置(position) 和旋转中心点(origin).原创 2016-04-03 16:50:23 · 3425 阅读 · 0 评论 -
Libgdx之TexturePacker TextureAtlas
Libgdx发展之初默认使用OpenGL ES 1.0,这是要求图片大小必须是2的n次方。但现在默认是使用的是2.0,这样就不必要求图片的大小。但是为了节约内存,还是推荐使用图片打包工具,将图片打包,这时使用的工具就是TexturePacker。原创 2016-04-03 12:12:35 · 2414 阅读 · 0 评论 -
Libgdx之Table 表格排版
做游戏的时候一般都会有一个菜单屏,里面有各种选项如:静音、调节声音大小、帮助、游戏介绍。这时候我们就需要对各个按钮或者演员来排序,Table就是一个能很好帮助我们进行排序的工具。 Table extends WidgetGroup 我们可以知道Table继承自Group,我们进行排序的时候也可以赋予简单的动作,如做一个Button切换的动画等等。原创 2016-06-11 11:28:15 · 5320 阅读 · 0 评论 -
Libgdx之Window Dialog 窗口和对话框
Libgdx提供了窗口类(Window)让开发者对用户进行提示,或者进行一些输入操作。 Window可以点击标题进行拖动,也可以设置为Modal模式。preferred size是由标题文字和里面装载的Actor共同决定的,当调用pack方法时会重新计算大小。 Dialog extends Window, Dialog是一个模式窗口(Modal Window)原创 2016-06-09 20:26:33 · 6671 阅读 · 0 评论 -
Libgdx之TextFiled 文本输入框
在做一个游戏的时候总是避免不了要输入一些文字,Libgdx的TextFiled就一个处理输入的文本控件。使用TextFiled我们也可以设置输入密码。TextField介绍TextField是一个单行的文本输入,默认的宽度是150,preHeight是font的高度的或者是背景图片的高度。在桌面版中支持快捷键ctrl+c/ctrl+v。原创 2016-05-22 22:15:07 · 7539 阅读 · 0 评论 -
Libgdx之Button TextButton ImageButton ImageTextButton 按钮使用
Button 即按钮,在游戏界面中最常用的元素之一。Button具有3中状态: pressed, unpressed, checked。点击Button按钮时, checked状态触发。 同样Button也是一个Table,可以当做承装其它Actor的容器。Button的preferred size由背景图片和里面的装载的演员决定的。点击Button时ChangeEvent事件被触发原创 2016-06-07 21:23:37 · 6832 阅读 · 0 评论 -
Libgdx之Label Image
Label类标签类,里面包裹了文字,可以定义文字显示的位置,排列方式等。主要在游戏中显示时间,分数等信息。 不知道些点啥就来个类图吧 注意: Libgdx中字体缩放是基于像素的,因此在使用Label是如果过度的缩小的Label或者是缩放字体时,绘制的文字会消失。因此最好Label是基于GUI坐标Image类 注意: 如果你使用下面初始化方法: image = new Image(原创 2016-05-18 21:20:58 · 5935 阅读 · 0 评论