Articles of libgdx

LibGDX在本地文件系统中search文件types

我正在建立一个系统,允许用户上传文件到LibGDX的本地目录在游戏中播放。 如何通过本地文件系统recursionsearch特定文件types并返回所有返回的文件?

在LibGDX中的地图位置

我正在开发一个RPG游戏,其中有一个主要的世界地图,地图上的城镇或遗址,以及玩家可以互动的位置的建筑物。 例如,我有一张地图,我的角色去了一个当地的小镇,那里有一个我可以自由进入和互动的小旅馆。一旦我想离开这个建筑,我就离开了,我将处于和我一样的位置,曾经进入了这个建筑,尽管面临相反的方向。 我想象一下,像这样复杂的地图系统的一个问题就是坐标。 有没有办法通过使用通用坐标来实现这一点,比如在这个地图系统的所有三个阶段只有一个x和y的位置,或者我需要有3个坐标,一个世界地图的坐标系统,一个当地坐标系统为城镇还是废墟,临时坐标系统为何我在建筑物? 另外,在libGDX有什么可以帮助这个吗?

如何通过点击舞台上的其他精灵来移动精灵?

我是LibGDX环境的新手, 如何通过点击舞台上的其他精灵来移动精灵? 正如你所看到的,我有一个对象,我想通过点击箭头键移动。 这是我目前的脚本: public class MyGdxGame extends ApplicationAdapter { Stage stage; @Override public void create () { ScreenViewport viewport = new ScreenViewport(); stage = new Stage(viewport); Gdx.input.setInputProcessor(stage); Myactor actor = new Myactor(); stage.addActor(actor); } @Override public void render () { Gdx.gl.glClearColor(0.33f,0.66f,0.99f,1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); stage.act(Gdx.graphics.getDeltaTime()); stage.draw(); } @Override public void dispose () { } } public […]

为什么我的libGDX TextureRegion.split代码无法正常工作?

我在Android上的libGDX中使用scene2d作为我正在开发的游戏的一部分。 我有一个简单的启animation面,我试图显示一个单一的图像。 该图像来自其中包含两个图块的文件,我使用TextureRegion.split()来访问它。 我的问题是,整个图像显示,而不是只是第一个瓷砖。 这里是代码片段来说明我在做什么。 你应该能够把它放在一个基本的libGDX应用程序来testing它。 我正在使用的图像是尺寸为460宽X 342,(2砖460X171)的PNG。 我正在使用最新的libGDX,从libGDX安装工具中获得。 我的代码有什么问题? TextureRegion[][] tiles = new TextureRegion( new Texture( Gdx.files.internal( "foo.png" ) ) ) .split( 460, 171 ); Stage stage; Table table; stage = new Stage(); table = new Table(); table.setFillParent(true); stage.addActor(table); Texture fooTex = tiles[ 0 ][ 0 ].getTexture(); Image fooImg = new Image( fooTex ); […]

Libgdx在等轴测图的顶部绘制一个精灵

我有这个等轴测图,即时通讯使用IsometricTiledMapRenderer渲染地图我有OrthographicCamera 。 我知道等轴测图中每个图块的位置,但是等轴测图有点旋转? 所以我想知道如何将地图坐标转换为等轴测图,反之亦然? 在这里,我试图在每个瓷砖坐标绘制一个颜色的立方体…. 在此先感谢,我一直在为此挣扎2天,而我缺乏英语词汇并不能帮助研究,请有人指点我

如何使游戏在libGDX中启动时主菜单屏幕淡出?

我正在创建我的游戏的主菜单,并且我希望主菜单屏幕随着淡出而消失。 我以为如果我使用Stage制作菜单并添加button作为演员,菜单将工作… 但是我得到以下问题:如果我在用于启动游戏的button的单击事件中添加了fadeOut(1) ,而不是整个屏幕淡出,只有菜单的button消失。 可能使用Stage是做菜单的错误方法,我不知道正确的方法… import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.actions.Actions; import com.badlogic.gdx.scenes.scene2d.ui.ImageButton; import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.badlogic.gdx.scenes.scene2d.utils.Drawable; import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable; import com.phillips.mrbulb.MrBulb; public class MenuState extends Estado { private Stage menu; private Texture fondo; private Drawable empz, instr, acrc, slir; private ImageButton empezar, instrucciones, acerca, salir; public MenuState(GameStateManager […]

这个单例类可以导致内存泄漏吗?

在我使用LibGdx编写的游戏中,我想知道是否在Android主键被按下或接到电话并且游戏暂停时会发生内存泄漏。 我有一个Singleton类,它拥有我所有的游戏资产,我使用静态方法来访问它。 public class Assets { private static Assets assetsInstance; private Assets() { //load assets…. } public static Assets getInstance() { if (assetsInstance == null) { assetsInstance = new Assets(); } return assetsInstance; } public void nullAssets() { //here things are set to null assetsInstance = null; } } 在我的主类: public class Main extends ApplicationAdapter […]

什么原因导致未定义的几何graphics?

我目前使用libgdx的polygonSpriteBatch来绘制三角形,矩形和凹多边形作为边框。 在为彩色边框添加凹面多边形之后,一切似乎都会断裂,并出现随机几何(有时甚至是渐变)。 一些例子 在这里,你可以看到一切看起来不错,绘制附加的矩形边框和删除其他边界,你仍然可以看到一些奇怪的红色区域。 这更加极端。 在凹多边形的左边部分用不同的颜色绘制,在它去掉后(右边)仍然有一部分留下来,而其他三角形不是由我创建的。 我相当确信所有的凸多边形都是按逆时针顺序定义的。 在过去,我提供正确的TextureRegion时遇到了麻烦,它仍然不像我当前的实现是如何应该的,但它适用于简单的矩形和三角形。 目前我有一个(3px)*(3px)区域和所有多边形顶点之间(0f,0f)和(3f,3f)。 因为我自己定义了多边形的所有三角形,给矩形的PolygonRegion的短arrays如下所示:(0,1,2,3,4,5)和相应的Vector2多边形数组,如下所示:((0.0,3.0 ),(0.0,0.0),(3.0,0.0),(0.0,3.0),(3.0,0.0),(3.0,3.0)) 我在android上执行这个时遇到了更多的工件,并且出于某种原因,为每个顶点绘制了一个小矩形(用于debugging)修复了上面的一些工件。 这是一个相当复杂的问题,但我希望有人知道可能会导致这样的行为。

如何从LibGDX中的OrthographicCamera创建一个Pixmap

我正在尝试根据我的OrthographicCamera可以看到的内容创建一张图片。 LibGDX有一个ScreenUtils类,有一个getFrameBufferPixels方法,但它不是我想要的,因为我只想得到一个相机看到的,而不是整个屏幕。

为什么在纹理中忽略了alpha通道

我绑定了一个纹理来绘制一些几何graphics(使用ImmediateModeRenderer20),但绘制时纹理的alpha通道会变成黑色。 为什么会这样呢? 我的绘制调用循环看起来有点像这样: immediateModeRenderer20.begin(renderer.getUiCamera().combined, GL20.GL_TRIANGLE_STRIP); immediateModeRenderer20.color(new Color(1, 1, 1, 1)); immediateModeRenderer20.texCoord(distance, tc.y); immediateModeRenderer20.vertex(point.x, point.y, 0f); immediateModeRenderer20.end();