Articles of libgdx

恢复后,libgdx不能正确显示字体

我在Android上使用libgdx的字体有问题。 当我第一次打开应用程序时,它们工作正常。 但是,当我暂停应用程序,然后恢复它,字体渲染不正确。 这是我如何创build字体。 FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/MainFont.ttf")); LabelStyle ls = new LabelStyle(); ls.font = generator.generateFont(30); ls.fontColor = new Color(1.0f, 1.0f, 1.0f, 1.0f); mPlay = new Label("Play", ls); mInstructions = new Label("How To Play", ls); generator.dispose(); 我没有任何东西在我的暂停/恢复方法,不知道是否应该有什么。 这是它看起来之前/之后的样子。

无法在Android Studio(libGDX)中运行项目

每次尝试在Android Studio中运行我的桌面项目时,我都会立即得到以下错误: Error:com.android.tools.idea.gradle.util.Projects.lastGradleSyncFailed(Lcom/intellij/openapi/project/Project;)Z 没有发生gradle build,或者任何types的同步。 Android Studio只是直接跳到这个错误。 我有重新启动/无效的caching,我已经删除我的.gradle文件夹在项目和家庭的位置,我已经重新安装android studio,我创build了一个新的项目,但我仍然得到同样的错误。 当我手动运行Gradle构build时,构build成功完成。 我甚至可以运行Android项目没有问题。 这只是桌面项目,给我的问题。 任何build议将不胜感激。 我正在使用最新版本的android gradle(2.3.0),而我的JDK是正确的版本(1.8)。 更新到Android Studio 2.3后出现此错误。 为了澄清,Gradle构build/同步完成成功。

LinearLayout类似于LibGDX中的Table

我想用以下布局的scene2d包在LibGDX中创build一个游戏菜单屏幕 | label | | btn btn btn | | label | 我的代码如下所示: Table table = getTable(); table.add(label1); table.row(); table.add(button1); table.add(button2); table.add(button3); table.row(); table.add(label2); table.row(); 但是,而不是我想要的东西,就像这样: | label | | btn btn btn | | label | 原因是因为每个table.add()方法调用创build一个新的单元格。 但我想把我所有的3个button放在一个单元格内。 我怎么能达到预期的结果,可能在LibGDX存在像LinearLayout或其他任何东西?

应用程序内简单的教程

我想使用Libgdx为我的Android应用程序使用Google应用内结算。 默认情况下,它是一个免费的应用程序给大家。 一旦用户支付了一小笔费用(假设为1美元),一些function将被解锁,并且如果用户支付了全部价格(假设为2美元),所有function将被解锁。 我有一个官方的谷歌的计费网站阅读,但我不知道如何链接到Libgdx。 Libgdx官方网站没有提供任何明确的指导和解释。 至今,我还不知道如何链接Libgdx和应用内结算。 此外,当用户购买解锁项目时,信息被存储在哪里(在偏好文件中?)? 我完全不知道。 如果有人把我带到正确的道路上,那将会很棒。

LibGDX无法加载特定的图像

我已经在过去成功加载了所有的图像,而且我使用的是OpenGL ES 2.0,所以图像不需要是两个(我有几个成功加载,不是)的权力。 有问题的代码是这样的: Line 96: splashSheet = new Texture(Gdx.files.internal("test.png")); 这是我的错误信息: Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: test.png at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:111) Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: test.png at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140) at com.badlogic.gdx.graphics.glutils.FileTextureData.prepare(FileTextureData.java:64) at com.badlogic.gdx.graphics.Texture.load(Texture.java:175) at com.badlogic.gdx.graphics.Texture.create(Texture.java:159) at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:133) at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:122) at com.panini.game.GameScreen.show(GameScreen.java:96) at com.badlogic.gdx.Game.setScreen(Game.java:59) at com.panini.game.Splash.render(Splash.java:29) at com.badlogic.gdx.Game.render(Game.java:46) at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:190) at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:108) […]

在libgdx中的手势检测器

我是新的libgdx。 我有以下问题。 我想为我的游戏做缩放。 为此我的GestureDetectorListener中有GestureDetectorListener类。 在GameStage我对GameStage有以下代码: OrthographicCamera camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); this.setCamera(camera); GestureDetector gestureDetector = new GestureDetector(20, 0.5f, 2, 0.15f, new GestureDetectorListener()); Gdx.input.setInputProcessor(gestureDetector); class GestureDetectorListener implements GestureListener { float initialScale = 1; @Override public boolean touchDown(float x, float y, int pointer, int button) { initialScale = camera.zoom; return true; } @Override public boolean tap(float x, […]

(Java LibGDX)如何在LibGDX中调整纹理大小?

我已经和LibGDX玩了一段时间了,并且想要将我的程序轻松移植到不同的系统上。 我有一个背景纹理,我想缩放到当前使用的分辨率。 图像是1920×1080,如何在运行时将其更改为当前使用的分辨率?

如何在libgdx的舞台上绘制一个bitmapfont?

这是我在我的Libgdx游戏的关卡中的当前渲染方法。 我想在我的关卡的右上angular画一个BitmapFont,但是我得到的是一堆白色的盒子。 @Override public void render( float delta ) { Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT); this.getBatch().begin(); //myScore.getCurrent() returns a String with the current Score font.draw(this.getBatch(), "Score: 0" + myScore.getCurrent(), 600, 500); stage.act(Gdx.graphics.getDeltaTime()); stage.draw(); this.getBatch().end(); } 我想添加分数字体到某种types的演员,然后做一个scene.addActor(myScore),但我不知道如何做到这一点。 我遵循Steigert的教程来创build主要的游戏类,在AbstractLevel类中实例化场景的字体,然后通过此级别进行扩展。 到目前为止,我没有使用任何自定义字体,只是空的新的BitmapFont(); 使用默认的Arial字体。 后来我想用我自己更花哨的字体。

java libgdx移动透视摄像头

我正在创build一个3D游戏,但我不知道如何根据我的手指来翻译相机。 我正在创build一个映射(x = -30到+30; y = -30到30; z = -1到1),其中每个坐标用于使用我的资产中的.g3db文件的模型,并使用模型翻译。 到目前为止,这个地图看起来不错,并以67%的angular度观看。 地图太大,无法一次在相机中查看(不,我不想缩小)。 每当我触摸我的android手机的屏幕,它只是围绕中心旋转,而是我希望游戏地图从我的angular度来看,而不是改变透视摄像机在x轴和y轴上的位置。 没有可用于位置跟踪的游戏对象,一切都应该取决于我的手指动作。 这样,我想移动到每个x和y方向的可视屏幕(想象它像一个2D照相机上下移动到图片前面的两侧)。 你可以帮我吗? 这是我的代码到目前为止: public class MyGdxGame extends ApplicationAdapter implements ApplicationListener{ //define variables … @Override public void create() { environment = new Environment(); environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.4f, 0.4f, 0.4f, 1f)); environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f, -0.2f)); modelBatch = new ModelBatch(); cam = […]

LibGDX – 获取向上滑动或向右滑动等?

触摸区http://img.androidcookie.com/java/swipe1.png 在绿色区域,用户可以向上,向右,向下滑动。 我现在怎么得到如刷卡? 或向下滑动? 或向右滑动或向左滑动? 例如如何获得一个string – > input = getSwiped(); – >然后input向上,或向右,向下或向左 用户可以触摸两个button。 1或2. 1是鸭子,2是跳跃。 我想同时检查这个input。 用户可以同时触摸并向上滑动。 我知道有一个手势检测器。 我查看了代码,但不知道如何使用滑动部分。 我知道一点点如何检查button。 问题只在这里 – >如何同时检查input,以及如何向上滑动或向右滑动等。 我search了一个发现如何检查多点触摸: for (int i = 0; i < 10; i++) { if (Gdx.input.isTouched(i) == false) continue; float x = Gdx.input.getX(i); float y = Gdx.graphics.getHeight() – Gdx.input.getY(i) – 1; //… }