草庐IT

android - 如何在 libgdx 中检测设备是智能手机还是平板电脑?

我希望我的scene2dui中的某个ui元素在较大的屏幕(不一定是更高的分辨率屏幕)上按比例缩小。它在Android布局中非常简单,但如何让它在libgdx中工作。也许我缺少一些API?在Androidactivity中可以通过接口(interface)实现吗?我能想到的当前解决方案是在不同布局文件夹(values-sw600等)中声明一个标志,并在oncreate()的androidactivity中获取它,然后通过接口(interface)将其传递给libgdx。有没有更好的方法请指教 最佳答案 如果有人仍然对解决此问题的更简单

java - 我在使用 LibGDX TileMaps 时遇到了困难

我正在尝试重制第一个super马里奥关卡。除了平铺,我几乎在所有方面都取得了成功。如果有人可以快速查看我的代码并解释我做错了什么,那就太好了!我这几天一直在排除故障。谢谢!另外,在我的声望更高之前,我不允许发布图片,所以这里是它们的链接。http://dl.dropbox.com/u/88813088/upload.html首先,这是我的图片集。它被命名为“world.png”:(链接网站上的第一张图片)其次,这是我要制作的东西:(网站上的第二张图片)保存tmx文件并使用TexturePacker后,我得到了这个结果:(网站最后一张图片)似乎瓷砖图集没有被分割成32x32位。相反,每3

java - applicationId 不能为空,但 xml 语法正确

我正在尝试将Facebook添加到已经完成的LibGDX游戏中。但是,当我尝试检查当前session时,它返回null。我试图创建一个新的Session来代替,但我得到了一个空指针错误:01-0419:49:15.433:E/AndroidRuntime(16540):FATALEXCEPTION:main01-0419:49:15.433:E/AndroidRuntime(16540):java.lang.RuntimeException:UnabletostartactivityComponentInfo{com.pressx.thedevice/com.pressx.thedev

java - 无法将 xml 中的值解析为代码 libgdx

我正在尝试将xml文件中的数据解析到我的libgdx游戏中。我的xml文件如下所示:我在show方法中调用的从xml中获取值的代码是:XmlReaderxml=newXmlReader();try{XmlReader.Elementelement=xml.parse(Gdx.files.internal("levels.xml"));XmlReader.Elementroot=element.getChildByName("levels");currentLevel=root.getInt("currentLevel");XmlReader.Elementlevel=root.getC

windows - Packr 不工作

我想导出我的LibGDX游戏,但是当我尝试使用此配置运行packr时:{"platform":"windows","jdk":"openjdk-1.7.0-u45-unofficial-icedtea-2.4.3-windows-i586-image.zip","executable":"LibGDX","appjar":"LibGDX5.jar","mainclass":"cz/vilix/main/Desktop","vmargs":["-Xmx1G"],"resources":[],"minimizejre":"soft","outdir":"out"}我在控制台中得到这个输出:

java - 空 LibGdx 游戏循环泄漏内存

我正在调试我使用libGdx库和eclipse编写的游戏。我有一个巨大的内存泄漏,所以我在我的渲染循环中注释掉了行,直到我在那里什么都没有。但是应用程序的内存仍然在上升。我最终使用GTX设置UI创建了一个全新的项目。当我启动它时,发生了完全相同的事情。它仍在以大约100万的速度上升。每秒4KB。不多,但就是停不下来。在查看堆数据时,我看到有com.badlogic.gdx.backends.lwjgl.LwjglInput可能是它的原因。但是我什至不知道我是否应该改变一些东西,当这个“问题”甚至出现在由GTX设置UI创建的项目中时。这对于应用程序来说是正常的吗?我一直等到它从34'80

linux - 如何导出 LibGDX 游戏

将LibGDX游戏导出到Windows、Linux和OSX的最简单方法是什么。所以用户不需要安装Java?如果用户必须安装Java,那么为游戏创建简单的“一键式”启动器的最佳方法是什么? 最佳答案 最简单的方法是使用大约两周前发布的工具packr。你可以找到它here.它将创建一个优化的(针对libgdx)JVM,我认为甚至可以创建一个可执行文件。优化意味着JVM被剥离了所有不必要的部分,因此只增加了几MB。基本上,您需要创建一个包含以下(示例)内容的config.json文件:{"platform":"mac","jdk":"/U

Java 洪水填充问题

我需要编写一个填充算法来为黑色边框内的图像像素着色。我根据SO上的一些帖子写了以下内容:privateQueuequeue=newLinkedList();privateintpickedColorInt=0;privatevoidfloodFill(Pixmappixmap,intx,inty){//settotrueforfieldsthathavebeencheckedboolean[][]painted=newboolean[pixmap.getWidth()][pixmap.getHeight()];//skipblackpixelswhencoloringintblackC

java - 在 libgdx 模型加载器演示中,font.draw() 没有将 "fps"文本放在屏幕上

我开始使用libgdx。我在主干(StillModelViewerGL20.java)中打开了示例模型加载器。在源代码中,我在render回调中看到了这段代码:batch.begin();font.draw(batch,"fps:"+Gdx.graphics.getFramesPerSecond(),20,30);batch.end();但是我在屏幕上看不到任何文字。是否需要在此示例中修复某些内容才能看到显示的文本? 最佳答案 可能屏幕尺寸小于20,30。尝试在0,0上绘制。 关于jav

java - Libgdx SpriteBatch 是否绘制到 StencilBuffer?

我在OpenGLES1.0中使用libgdx,我想知道SpriteBatch是否可以写入/绘制到模板缓冲区。我一直在尝试写入它,但我根本没有得到任何结果,我没有使用模板缓冲区的经验,但我已经阅读了很多,所以如果我在接下来的任何事情中有错,请纠正我。基本上我想做的是用SpriteBatch将纹理绘制到模板缓冲区,这样当我绘制其他东西时(禁用模板缓冲区)它只会在模板缓冲区等于1的区域上绘制。这是我想要的结果:如果我在模板缓冲区中绘制星形纹理,然后在颜色缓冲区中绘制红色纹理,我希望红色纹理忽略模板缓冲区中星形所在的像素。到目前为止,这是我的代码:batch.begin();Gdx.gl10.