- 博客(126)
- 资源 (35)
- 收藏
- 关注
原创 WebMagic从入门到放弃(1)
WebMaigic demo运行WebMagic的demo地址: http://webmagic.io/ WebMagic的doc文档:http://webmagic.io/docs/zh/按照官方给的例子,运行会出现下面的错误,对于没有使用过log4j的人来说是一脸懵笔:
2017-05-09 17:58:53 7218 3
原创 7.Libgdx扩展学习之Box2D_距离关节 旋转关节
文章中的概念来自《Box2D》中文手册上一节中我们介绍了关节和鼠标关节的使用方法,本章中我们继续介绍距离关节和旋转关节距离关节(DistanceJoint)距离关节是两个物体上各有一点,两点之间的距离必须固定不变。当指定一个距离关节时,两个物体必须已在应有的位置上。之后指定世界坐标中的两个锚点。第一个锚点连接到物体1,第二个锚点连接到物体2。这两点隐含距离约束的长度。
2017-01-12 21:02:25 2586
原创 6.Libgdx扩展学习之Box2D_鼠标关节
下面一些内容定义来自《Box2D中文手册》关于关节用于把物体约束到世界,或约束到其它物体上。在游戏中,典型例子有木偶,跷跷板和滑轮。用不同的方式将关节结合起来使用,可以创造出有趣的运动。 有些关节提供了限制(limit),使你可以控制运动的范围。有些关节还提供了马达(motor),它可以以指定的速度驱动关节一直运动,直到你指定了更大的力或扭矩来抵消这种运动。
2017-01-05 22:56:15 1632
原创 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
原创 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 2657
原创 3.Libgdx扩展学习之Box2D_夹具
文章中涉及的很多概念,都是来自《Box2D中文手册》。有统一的解释方便理解夹具概念介绍形状不知道物体的存在,并可独立于物理模拟而被使用。因此 Box2D 提供 Fixture 类,用于将形状附加到物体上。一个物体可以有零个或多个 fixture。拥有多个 fixture 的物体有时被叫做组合物体。 fixture具有下列属性: 关联的形状broad-phase 代理密度(density)、
2016-12-10 20:54:43 2099
原创 2.Libgdx扩展学习之Box2D_刚体和形状
文章中涉及的很多概念,都是来自《Box2D中文手册》。有统一的解释方便理解。物体(刚体/Body)概念介绍物体具有位置和速度。可以将力(forces)、扭矩(torques)、冲量(impulses)应用到物体上。 物体可以是静态的(static)、运动但不受力的(kinematic)或动态的(dynamic)。这是物体的类型定义: 1.Static Body static 物体在模拟时
2016-12-07 21:03:29 3598
原创 1.Libgdx扩展学习之Box2D_入门介绍
文章中涉及的很多概念,都是来自《Box2D中文手册》。有统一的解释方便理解。Box2D简单介绍Box2D 是一个用于游戏的 2D 刚体仿真库, 是用可移植的C++写成的。程序员可以在他们的游戏里使用它,它可以使物体的运动更加真实,并让游戏世界看起来更具交互性。 Box2D 就是用物理学的方法,推导出那游戏世界物体的位置,角度等数据。而 Box2D 也仅仅推导出数据,至于得到数据之后怎么处理就是程
2016-12-01 21:49:43 3107
原创 Libgdx之游戏源码合集
教程写到这里,Libgdx的基本功能是已经讲完了,之后打算讲解一下Libgdx的扩展的知识,比如Box2D、AI等知识。 本页主要收集了Libgdx的一些开源代码,会不定期更新!!!2048: https://github.com/xietansheng/Game2048ForGDX FlappyBird: https://github.com/xietansheng/FlappyBirdF
2016-11-29 22:23:13 6027 2
原创 libgdx之瓦片地图(TiledMap)
把草稿删了,没想到也把发表的文章给删了,只好重新写了。不得不吐槽一下CSDN的博客系统。 简介在我们开发游戏过程中,我们需要设置不同的关卡,如果我们直接使用使用图片来加载游戏,这将会使我们的游戏安装包本身变得非常臃肿。不过好在Libgdx给我们提供了瓦片地图,我们可以直接使用编辑器来编辑地图,然后使用Libgdx提供的API解析加载,而且地图图片还可以在不同地图上重复使用,节约了游戏安装包的空间。
2016-11-25 21:03:36 7737 1
翻译 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 2003
原创 Libgdx之粒子系统
游戏开发过程中不免要用到各种特效,比如水流、烟雾、火焰等效果,如果使用Sprite实现不仅耗内存,而且复杂。幸好Libgdx提供了粒子系统来帮助我们实现这些这些效果。 1. com.badlogic.gdx.graphics.g2d.ParticleEmitter.Particle extends Sprite 粒子。每一个粒子本质上都是一个小图片,作为粒子编辑器的图片不要过大,经过粒子
2016-10-25 21:20:32 3731
原创 Libgdx之Game场景切换Screen
在实际开发中我们需要在不同的时候切换不同游戏场景,比如需要有游戏设置界面、有些菜单界面和游戏主界面。Screen 游戏场景在Libgdx中Screen代表了一个游戏场景,有点类似coco2d-x中的Scene,但是Screen不能独立存在,必须依靠Game来切换。 官方的注释: Screen代表了应用程序中众多的场景之一(Screens),例如:主菜单,设置菜单,游戏场景等。Screen不会自动
2016-10-10 20:14:33 3896
翻译 Libgdx之正交相机 OrthographicCamera
本翻译自Libgdx Wiki 本文主要介绍OrthographicCamera相机类和用法。OrthographicCamera是正交相机,用在2D游戏开发中,无论游戏物体放在游戏世界中的那个位置,用正交相机看到的物体都不会被缩放。描述正交相机的操作非常简单,就像我们在现实世界中操作相机一样,文章中主要介绍: 相机的移动和旋转相机的放到和缩小改变相机的视窗大小在窗口(wi
2016-08-09 21:38:59 7191
原创 Libgdx之Pixmap
前面的博客中我们介绍了Stage,在Libgdx中我们可以使用Stage来切换游戏界面,可以一个Stage就是一个界面。 但是, Libgdx还提供了另外一个方法Game和Screen来管理游戏界面。 Game implements ApplicationListener,是游戏core部分的核心入口,可以是应用程序在不同的Screen之间随意的切换,下面浏览源码注意注释的部分public abs
2016-07-21 21:28:06 3786
原创 Libgdx之AssetManager 资源管理器及进度条的实现
概述在前面我们用到的游戏资源,是直接加载的,由于只是一个demo,资源比较少,因此看不出时间用到的长短。实际上我们在游戏开发过程中用到的图片,声音等资源比较多,这时加载游戏过程中会出现黑屏现象,其实就是后台在加载资源了,这时我们需要AssetManager来异步加载资源,同时实现进度条给用户友好的体验。 简单介绍AssetManager中常用的方法 * void clear()
2016-07-20 21:25:24 4615 1
原创 Libgdx之国际化 中英文菜单切换
有时候我们做的游戏不仅仅发布在国内市场,有时候也需要发布在国际市场,这时候我们至少需要中英2套菜单来供不同的玩家使用,毕竟中文不是每个人都能看懂。 Libgdx中提供了I18NBundle来供我们使用,I18NBundle提供了一套机制可以使我们从属性(properties)文件中加载资源, 属性文件中的资源是以”name”和”values”的形式存在的,而且资源最好有一个父文件,这样防止资源丢失
2016-07-16 17:50:28 4397
原创 Libgdx之JSON文件解析
上一节我们学习了XML文件的解析,接下来我们再了解JSON文件的解析。在Libgdx中也提供了Json类来帮助我们解析文件,最常用的方法是fromJson(java.lang.Class type, FileHandle file) 通过此方法我们必须先定义一个内部类来抽象的表示Json文件。
2016-07-11 21:42:38 6945 4
原创 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 3191
原创 Libgdx之数据保存 和 数据加密
Libgdx 中使用Preference以哈希表的形式进行数据的保存,在桌面版保存在目录”.prefs”下面,注意所有桌面的Preference都保存在.prefs目录下,所以文件名最好以”com.myname.game1.settings”而不是”Settings” 只有调用方法flush才会将数据从内存保存到磁盘上 Gdx.app.getPreferences(String filename
2016-07-03 16:25:13 5733
原创 Libgdx 之Actions 动作类
Libgdx提供了一下Action类来实现简单动画。动作类主要分为2类,一个是控制类,一个是表现类。Libgdx提供了Actions类来方便管理各个动作类,可以直接通过Actions调用控制类,主要控制表现类来执行SequenceAction sequence (Action… actions) 将添加的Actions按添加的顺序依次执行ParallelAction parallel (Act
2016-06-18 17:56:19 4294 5
原创 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 6623
原创 Libgdx之Table 表格排版
做游戏的时候一般都会有一个菜单屏,里面有各种选项如:静音、调节声音大小、帮助、游戏介绍。这时候我们就需要对各个按钮或者演员来排序,Table就是一个能很好帮助我们进行排序的工具。 Table extends WidgetGroup 我们可以知道Table继承自Group,我们进行排序的时候也可以赋予简单的动作,如做一个Button切换的动画等等。
2016-06-11 11:28:15 5319
原创 Libgdx之Window Dialog 窗口和对话框
Libgdx提供了窗口类(Window)让开发者对用户进行提示,或者进行一些输入操作。 Window可以点击标题进行拖动,也可以设置为Modal模式。preferred size是由标题文字和里面装载的Actor共同决定的,当调用pack方法时会重新计算大小。 Dialog extends Window, Dialog是一个模式窗口(Modal Window)
2016-06-09 20:26:33 6666
原创 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 6829
原创 Libgdx之Group
Libgdx之GroupGroup可以说Libgdx中非常好用的一个组件,可以把其余的Actor封装在一起,然后赋予同样的Actions或者Position等。 Group的坐标是从左下角开始的,如果将设置Group.setPosition(0,0) 那么就是从屏幕左下角开始。
2016-06-06 22:07:18 5756
原创 Libgdx之ProgressBar (进度条) Slider(滑动条)
ProgressBar 即进度条,extends Widget。展示了在给定范围内时间/加载进度。PreferHeight是由给定的背景图片或者knob的最大高度决定的,默认的宽度width是140.Slider 滑动条,一般在游戏中设置调节音量或者调节游戏难度等等。 Slider就是一水平的指示条,允许用户设值。Extends ProgressBar 因此也具有一个min max值,一个移动步调
2016-05-24 21:58:21 7269
原创 Libgdx之TextFiled 文本输入框
在做一个游戏的时候总是避免不了要输入一些文字,Libgdx的TextFiled就一个处理输入的文本控件。使用TextFiled我们也可以设置输入密码。TextField介绍TextField是一个单行的文本输入,默认的宽度是150,preHeight是font的高度的或者是背景图片的高度。在桌面版中支持快捷键ctrl+c/ctrl+v。
2016-05-22 22:15:07 7537
原创 Libgdx之Label Image
Label类标签类,里面包裹了文字,可以定义文字显示的位置,排列方式等。主要在游戏中显示时间,分数等信息。 不知道些点啥就来个类图吧 注意: Libgdx中字体缩放是基于像素的,因此在使用Label是如果过度的缩小的Label或者是缩放字体时,绘制的文字会消失。因此最好Label是基于GUI坐标Image类 注意: 如果你使用下面初始化方法: image = new Image(
2016-05-18 21:20:58 5932
原创 Libgdx之Skin 皮肤类
上一节介绍了List,应该接着继续介绍其余的Widget,但是每次都要定义Style,还要定义各种属性,感觉特别麻烦。下面介绍另外一种方法,通过定义Skin来省去定义各种Style。 Skin储存Widget的各种样式(Style)来使用(如 纹理,字体,颜色,NinePatches)。当然也可以使用Libgdx系统提供的Skin,要是想这样使用的话必须添加下面资源:
2016-05-18 20:00:44 6576
原创 Libgdx 之List 列表类
上一节介绍完Actor 演员类,现在要介绍Widget了。Widget也是一个演员,参与layout,而且提供了minimum, preferred, and maximum size,但是没有具体的实现,因此再介绍Widget的子类List。ListStyle要想使用List那么必须先定义ListStyle,ListStyle定义了List的各种属性。
2016-05-05 20:22:59 2831 1
原创 Libgdx 之Actor 演员类
上一篇我们介绍了Libgdx中舞台类,按照类的继承图,我们应该介绍Actor类,从截图中我们知道Libgdx中的UI控件都是继承自Actor。 前面我们也介绍过Sprite类,Actor有点类似于Sprite类,保存位置,大小,颜色,旋转中心,缩放以及Actions等
2016-04-25 22:10:27 6491
原创 Libgdx 之Stage 舞台类
前面说过在Libgdx画出图片的有SpriteBatch和舞台类,现在就来探讨舞台类Stage。 其实Stage里面默认会初始化化一个SpriteBatch,Stage主要工作是绘制UI元素,包括Image, Label, Button等,再继续了解下去之前,让我们先看一张图,UI篇也主要是按照这张图来讲解
2016-04-21 21:38:33 5065
原创 Libgdx之Music Sound 音效
一个好的游戏,如果没有游戏音效那么这个游戏就过于简单乏味。Libgdx中常用的游戏音效有2中,一种是Music,这种音频文件以流媒体的方式加载,一般文件比较大。还有一种是Audio,这种音频文件一般比较小,直接加载在内存中,主要用于枪声、起跳的声音。
2016-04-16 20:36:59 3605
原创 Libgdx之Animation 动画
一个好的游戏总归需要动画,Libgdx提供了Animation类来管理控制动画。 Animation: 储存了一组TextureRegion,然后顺序播放。例如在主角奔跑、跳跃的时候都需要用到Animation。每一个TextureRegion都是一帧,多帧组成了一组动画。
2016-04-14 21:35:50 7934
原创 Libgdx之Viewport 屏幕适配
在游戏开发的时候我们一般会设置一个世界的大小,这个大小是固定的,游戏的位置也是固定的。但是Android的各种分辨率,为了使游戏元素在不同的分辨率显示在相同比例的位置上,我们需要为游戏做适配。不过好在Libgdx给我定义了Viewport。
2016-04-07 21:21:58 5815
原创 Libgdx之监听用户输入
做游戏的最重要的是要与用户有交互,怎样与用户交互Ligdx提供了2种方式。Libgdx事件查询(Event Polling)这种方式主要是Libgdx主动查询当前的状态,通过这种方式我们可以查询键盘输入,鼠标事件,加速器等状态 事实上主动查询事件是在render()方法中调用,意味每一帧我们都会来查询事件状态。
2016-04-04 11:39:58 4530
原创 Libgdx 之BitmapFont 字体
前面介绍了怎么将图片在屏幕上渲染出,但是一个游戏仍然需要文字来说明。在Libgdx中用BitmapFont来处理文字。BitmapFont的简单说明BitmapFont(位图字体)使用Batch来渲染,BitmapFont字体包含2个文件.png 和 .fnt。 .fnt文件描述了位图字体的位置,大小等等信息。
2016-04-03 21:36:00 5157
原创 Libgdx之Sprite 精灵类
已经介绍了这么多容器类来加载图片,下面出场的的是Sprite,也就是精灵类,这个可以说是集大成者,里面封装了更多的方法来操作纹理。 Sprite可以保存几何属性,大小(size, width, height),位置(position) 和旋转中心点(origin).
2016-04-03 16:50:23 3423
Libgdx工具
2016-04-03
AmaterasUML
2016-03-26
AmaterasUML eclipse UML 插件
2016-03-26
libgdx书籍
2015-07-17
visual.assist.x.10.6.1823 for VS2010
2013-12-14
Android_SensorDemo_FindAllApk
2012-10-29
MusicPlayer 音乐播放器
2011-12-14
锁屏 设备管理
2011-10-25
Hello Android 中文版
2011-08-04
操作系统 课程设计 Linux VC++6.0
2011-08-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人