问题标签 [libgdx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
386 浏览

java - 如何在 libgdx 中从一个级别添加到另一个级别?

在 libgdx 中从一个级别添加到另一个级别的最佳方法是什么?我正在使用 libgdx 开发游戏。我需要它在当前一个完成后将用户提升到下一个级别。

0 投票
1 回答
145 浏览

android - 以下错误是什么意思?

我有两个项目是用 libGDX 编写的实际代码的实例化。一个是桌面版游戏,一个是安卓版游戏,最后一个项目文件夹是游戏机制的实际代码。所以我在eclipse中有三个项目。游戏的实际代码,然后是其他两个创建游戏“版本”(Android 和桌面版本)的项目。

对于桌面版本,游戏将无法运行。屏幕会出现,然后迅速消失。当我转到属性和链接资源时,我看到以下错误:“位置无效”错误图像

安卓版的游戏,我去属性下查看链接资源,什么都看不到。资产文件夹不应该在那里链接吗?在此处输入图像描述 另外,当我去尝试运行项目的android版本时,程序会安装,但是模拟器说没有响应。这可能只是因为在模拟器上启动游戏需要很长时间。

0 投票
1 回答
528 浏览

java - 方法范围内的纹理声明会导致内存泄漏吗?

不知这段代码会不会造成内存泄漏?因为我仍然不知道什么时候应该处理纹理。纹理应该放在方法的末尾吗?还是在未使用后单独处理?

我真的不明白。为什么Java中仍然存在内存泄漏?

0 投票
2 回答
15491 浏览

android - libgdx 的 UI API

Android 和 libgdx 菜鸟在这里。

有人知道最近为 libgdx 发布的 UI API 吗?请参阅此处的博客文章:http ://www.badlogicgames.com/wordpress/?p=2058

我正在寻找创建一个基本的菜单系统,我想知道这个 UI API 是否会使它变得更容易。

0 投票
1 回答
1530 浏览

java - LibGdx (OpenGl ES/Android) - 多次调用 Texture.createGLHandle 返回新创建的纹理的 textureid 覆盖它

安卓 2.1 - 日食

哪些步骤将重现该问题?

1.

此时,所有带纹理的精灵都正确渲染了。

2.

3.

所以本质上,createGLHandle() 返回 100271 两次,基本上用衣服.png 覆盖了 bg_wallpaper.png。如果我尝试在 Sprite 中引用“bg_wallpaper”纹理,它显然是从“clothes.png”写入的。

如果我强制上下文丢失和重新聚焦,由于 Gdx 重新加载(管理)纹理,所有纹理都是正确的。

opengl.org/glGenTextures状态:

glGenTextures 在纹理中返回 n 个纹理名称。不能保证名称构成一组连续的整数;但是,可以保证在调用 glGenTextures 之前没有使用任何返回的名称。

我的问题是,我是否可以在 GL 中调用任何东西来强制纹理“正在使用”并且不会两次返回相同的 glHandle id?

我不确定这是我应该提交给 libgdx 问题的错误吗?

Texture.java 代码可以参考这里进一步说明:

code.google.com/gdx/src/Texture.java

任何帮助是极大的赞赏!

0 投票
1 回答
841 浏览

android - 在 libgdx 中设置世界边界

嗨,我正在使用 libgdx 框架开发游戏,因为我无法为世界设置边界以限制参与者。当一个灯具越过屏幕(世界)边缘时,它应该返回或停在那里。我知道通过计算 x,y 坐标我们可以做到,如果有其他方法请在这方面提供帮助。

0 投票
1 回答
579 浏览

android - Android Game Dev - 声明新对象后出现 NullPointerException(构造函数没有做我想做的事)

我目前正在使用名为 libgdx 的框架学习游戏编程。它允许用户制作可以在桌面上的 Java 虚拟机和 Android 手机上轻松运行的程序。我正在尝试制作一个基本程序,它将在屏幕上显示一个字符并允许我用键盘来回移动它。我创建了 3 个类 - 一个名为Assets,它将文件加载到内存中并将它们转换为纹理和动画,一个名为InputHandler,它通过更改动画、移动方向等来响应键输入,还有一个名为FightView,它本质上是所有渲染完成。使用典型的命令InputHandler从类中调用。for 的构造函数如下所示:FightViewinput = new InputHandler(anim, frame);InputHandler

现在,我想要发生的只是将传递给构造函数的 Animation 和 TextureRegion 设置为上面引用的值,这样,例如,如果我要在声明后regionFightView类中提到input,它将被设置为animation.getKeyFrame(0, true);. 根据我对 Java 的有限经验,我认为这是应该发生的,但在编译时我得到一个 NullPointerException,指向下面代码中的第二行:

显然,frame即使在通过构造函数传递之后,它仍然是 null,它(可以在构造函数的第三行中看到)应该为它分配一个值。请注意,在传递给构造函数之前,它们实际上都是 null - 我正在尝试创建一个类,该类将提供字段数据,而无需在FightView类中这样做。

任何帮助表示赞赏。这可能是错误的方法——我想做的是创建一个对象,在初始化时,它将加载AnimationandTextureRegion数据。

0 投票
3 回答
2303 浏览

java - LibGDX And​​roid 应用程序可以找到除我的 XML 级别文件之外的任何文件

基本上,我有一个 libgdx UI,它链接到从 XMLinterpreter 构建的关卡文件。在桌面上,应用程序运行良好。但是当我在手机上运行它时,它找不到 level.xml 文件。是的,它们在 assets 文件夹中,UI 和音乐也在。UI 和音乐都很好用,但是当单击按钮开始关卡时,我得到空指针并且它崩溃了,因为它由于某种奇怪的原因找不到文件。

这是我指定文件路径的代码。Gdx.files.internal 引用 assets 文件夹。在 XMLInterpreter 的构造函数中是实际设置文件路径的位置。下面的代码正是我指定 XMLInterpreter 对象的地方。

下面是 XMLInterpreter buildDocument 方法的代码,它是实际调用来构建文档的方法。我们关注的代码是 buildDocument 方法。那就是文件路径所在的位置:

所有级别 xml 文件都存储在文件路径 assets/data/xmlLevels 中。我相信文件路径指定正确,但 logCat 仍然打印:

这个问题真正让我困惑的是,该应用程序正在访问 UI 的 uiskin.xml!它恰好在资产文件夹中,并且可以正常访问。两个 xml 文件的文件权限设置完全相同。

任何对此的快速帮助将不胜感激!

如果您需要更多信息,我将很乐意为您服务!

0 投票
1 回答
145 浏览

php - libGD perl 和 php 包装器输出不同

我目前正在从事一个涉及不同图像处理库之间比较的项目。这些库之一是 libGD。我正在使用 perl 包装器以及 php 包装器。

我现在的问题是,相同的输入图像会根据使用的包装器产生完全不同的输出图像。如果我通过 perl 包装器调用 libGD 函数,则生成的图像大约比 php 包装器的输出大 40%。使用 imagemagick 制作的差异图像也表明两个图像非常不同。

两个函数调用的参数化是完全一样的(质量、分辨率、几何)。我还检查了我的系统上是否安装了多个版本的 libGD,没有。

两个包装器不应该产生相同的输出还是我完全弄错了?

0 投票
2 回答
1466 浏览

android - Android 游戏编程 - 堆问题

我在一家小型 Android 游戏开发公司工作,目前我遇到了问题。我正在运行一个非常标准的 windows 7 x64 机器,带有 Eclipse 和 Android SDK。

我正在阅读我的程序的 LogCat 输出,想知道为什么我的游戏甚至不显示。我很快看到所有堆都在增长,并认为我可能有太多纹理/太大的纹理等。我将问题定位为纹理加载,然后我开始使用 DDMS,发现我的堆不会增长到 19MB 以上。我剪掉了几个纹理并尝试再次构建和运行。令我震惊的是,堆不会一直增长到超过 6.6MB。有没有人有什么建议?

tl;dr:我的堆增长到 19MB,然后失败了,所以我取出了更消耗内存的纹理,将其保持在堆中的 19MB 以下,现在我的堆不会超过 6.6MB。

编辑:取出较大纹理时的 logcat 输出: