Articles of libgdx

在libgdx中使用通用Tween引擎添加补间?

我有一个sprite循环补间,就像一个空闲animation。 我想为它添加另一个补间,所以它们同时播放。 (例如,如果我的第一个补间移动它,而我的第二个补间移动它,我希望它向上和向右移动。) 但每当我玩第二个补间时,它似乎完全覆盖了第一个补间。 我究竟做错了什么? 这是我的代码: Tween.to(sprTurtle, SpriteAccessor.POS_XY, 0.4f) .waypoint(posTurtle[0] + (20 * density), posTurtle[1] + (20 * density)) .target(posTurtle[0] + (30 * density), posTurtle[1]) .ease(Quad.INOUT) .path(TweenPaths.catmullRom) .repeatYoyo(Tween.INFINITY, 0) .delay(0.1f) .start(tweenManager); Tween.to(sprTurtle, SpriteAccessor.POS_XY, 1f) .target(50, 50) .repeat(Tween.INFINITY, 0) .start(tweenManager);

Android libgdx使用手势监听器轻扫左右检测

我用libgdx在屏幕中央显示了一个图像。 如果我向左滑动,图像应向左移动 ,如果我向右滑动图像应向右移动 。 向左滑动后续应向左移动图像。 对于正确的事情也应该这样。 我用过GestureListener 。 它在某种程度上起作用,如果我向左滑动第一个图像向左移动。 但在那之后如果我试图向右滑动图像仍然向左移动。 那么我如何在libgdx中克服这一点? class MyGestureListener implements GestureListener { @Override public boolean fling(float arg0, float arg1, int arg2) { // TODO Auto-generated method stub if(arg0>0) iX += 20; else // else if(arg0*100>iX) iX-=20; System.out.println(“Hello……………”+iX); return true; } Gdx.input.setInputProcessor(new GestureDetector(0.0f, 0.0f,0.0f, 5f,new MyGestureListener())); batch.draw(splashTexture, iX, iY);

在球体周围移动相机

我试图在我的世界中围绕模型以球形运动移动我的相机。 我已经看到将球面坐标(rho,theta,phi)转换为笛卡尔坐标(x,y,z),但我不确定如何设置它。 这是我到目前为止所尝试过的,但它并没有连续围绕模型运行。 它到达某一点,然后旋转似乎逆转自己。 初始化theta和phi : private float theta = 0.0f; private float phi = 0.0f; 每帧更新theta和phi : // This should move the camera toward the upper-right continuously, correct? theta = (theta+1.0f)%360; phi = (phi+1.0f)%360; 将theta和phi转换为相机的笛卡尔坐标: camera.position.x = CAMERA_DISTANCE * (float)Math.sin(theta*MathHelper.PIOVER180) * (float)Math.cos(phi*MathHelper.PIOVER180); camera.position.y = CAMERA_DISTANCE * (float)Math.sin(theta*MathHelper.PIOVER180) * (float)Math.sin(phi*MathHelper.PIOVER180); camera.position.z = CAMERA_DISTANCE * (float)Math.cos(theta*MathHelper.PIOVER180); […]

在Libgdx TextField中输入密钥处理

我在我的libgdx应用程序中设置了一个包含三个TextField的舞台,我在桌面模式和Android模式下获得了不同的行为。 在Android上,键入enter键会将光标移动到下一个TextField。 在桌面上,键入enter键不会执行任何操作。 如何在两个平台上使光标一致移动? 我希望能够在用户输入时将焦点设置到另一个字段。 在Android上,无论我将焦点设置为什么,默认输入键行为然后将焦点跳转到该字段。 这是我目前用于移动光标并清除下一个字段的代码: stage.addListener(new InputListener() { @Override public boolean keyUp(InputEvent event, int keycode) { if (keycode == Input.Keys.ENTER) { nextField(); } return false; } }); Gdx.input.setInputProcessor(stage); } private void nextField() { TextField nextField = stage.getKeyboardFocus() == text1 ? text2 : stage.getKeyboardFocus() == text2 ? text3 : text1; nextField.setText(“”); stage.setKeyboardFocus(nextField); } 我已尝试取消事件或从处理程序方法返回true,但焦点仍然在我的代码完成后移动。 […]

需要具有FBO扩展的OpenGL 2.0或更高版本 – LibGDX错误

我从一个月前开始使用LibGDX并且它工作得很好! 但是昨天,在更新到Java 8之后,我运行了两个曾经工作过的桌面项目,它向我展示了这个错误: video驱动程序不支持OpenGL 我在网上搜索了,发现有人发布了这段代码: System.setProperty(“org.lwjgl.opengl.Display.allowSoftwareOpenGL”, “true”); 好吧,它适用于我正在研究的项目僵尸鸟教程之一,但与另一个项目它显示: 需要具有FBO扩展名的OpenGL 2.0或更高版本。 OpenGL版本:1.1.0 Microsoft Corporation GDI Generic 1.1.0 PS:我的设备OpenGl版本是:3.1,Intel HD Graphics 3000,LibGDX版本:1.6.5,我正在使用Eclipse Juno。

NullPointerExceptions仅适用于某些三星Galaxy设备?

我正在使用LibGDX。 当我的应用程序启动时,它会创建一个屏幕。 加载Screen时,它会调用静态函数Module.createStyles() 。 这个函数创建了一系列样式,这些样式将在整个应用程序的其余部分使用(内置的LibGDX样式,如WindowStyle,LabelStyle,TextButtonStyle – 用于创建用户界面对象的所有types的东西)。 屏幕完成后,它会调用Module.disposeStyles() 。 无论如何,根据我的Google Analytics崩溃报告,我在尝试使用Module.dialogStyle创建一个Dialog时会随机获取NullPointerException : ExitDialog exitDialog = new ExitDialog(“Are you sure?”, Module.dialogStyle); Thread: GLThread 2089, Exception: java.lang.IllegalArgumentException: style cannot be null. at package.Window.setStyle(Window.java:181) at package.Window.(Window.java:63) at package.Dialog.(Dialog.java:65) at package.ExitDialog$1.(ExitDialog.java:38) Module.dialogStyle绝对没有理由为null。 我将此字段置空的唯一位置是在Module.disposeStyles() ,此函数仅在应用程序的一个特定位置(最后)调用。 我认为这是我的代码中的一个错误,即使95%的用户从未体验过它。 然而,所有5%的用户体验它似乎是Galaxy用户,我不确定这是不是巧合: Galaxy S4 Galaxy S III GALAXY Tab 3 lite 有人有主意吗? Galaxy设备没有内置的RAM管理器吗? 这会与此有关吗?

在LibGDX上使用沉浸式模式

我有一个人像屏幕,想要使用沉浸式模式(不是粘性沉浸式)。 LibGDX还具有身临其境的function: AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); config.useImmersiveMode = true; 但useImmsersive是一个粘性的沉浸式。

在libgdx的一侧构建一个带纹理的框 – 性能

在类似拼字游戏的3D游戏中,我遇到的性能问题只有8 FPS。 把它缩小到字母瓷砖。 其中有100个,减少数量可以迅速提高性能。 我排除了纹理绑定,因为即使所有图块具有与屏幕截图相同的纹理,速度也不会提高。 这就是我创建每个盒子的方式: public static void createModel() { matWhite = new Material(ColorAttribute.createDiffuse(Color.WHITE)); ModelBuilder modelBuilder = new ModelBuilder(); modelBuilder.begin(); MeshPartBuilder tileBuilder; tileBuilder = modelBuilder.part(“top”, GL10.GL_TRIANGLES, Usage.Position | Usage.Normal | Usage.TextureCoordinates, matWhite); tileBuilder.rect(-0.45f, 0.1f, 0.45f, 0.45f, 0.1f, 0.45f, 0.45f, 0.1f, -0.45f, -0.45f, 0.1f, -0.45f, 0f, 1f, 0f); tileBuilder = modelBuilder.part(“bottom”, GL10.GL_TRIANGLES, Usage.Position | Usage.Normal, […]

导出带有ProGuard错误的签名APK

我见过一堆其他类似的post,但仍然不明白我的代码有什么问题。 我想在android中导出已签名的APK并获取以下错误: [2014-02-18 21:20:35 – Bounce-android] Proguard returned with error code 1. See console [2014-02-18 21:20:35 – Bounce-android] Warning: android.support.v4.view.accessibility.AccessibilityNodeProviderCompatJellyBean$1: can’t find superclass or interface android.view.accessibility.AccessibilityNodeProvider [2014-02-18 21:20:35 – Bounce-android] Warning: com.badlogic.gdx.backends.android.AndroidDaydream: can’t find superclass or interface android.service.dreams.DreamService [2014-02-18 21:20:35 – Bounce-android] Warning: android.support.v4.app.NavUtilsJB: can’t find referenced method ‘android.content.Intent getParentActivityIntent()’ in class android.app.Activity [2014-02-18 21:20:35 […]

使用AWS开发工具包将文件上载到S3

我正在尝试使用AWS SDK将文件上传到Amazon S3存储桶。 class LogToS3Bucket extends Thread{ public void run() { super.run(); Gdx.app.log(“msg”, “secondThreadRunning yeahhhhh!”); File fileToPut = new File(“../../../MyProject”, “settings.txt”); String accessKey = “”; String secretKey = “”; AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); AmazonS3 conn = new AmazonS3Client(credentials); conn.putObject(“bucketname”, “filename.txt”, fileToPut); } } 它不起作用,它会在调用.putObject()时抛出错误 Exception in thread “Thread-1” Status Code: 400, AWS Service: […]