java - Libgdx 实体重力

标签 java libgdx

我真的不喜欢将 box2d 与 Libgdx 一起使用,因此我从 Tiled 设置了一个 map ,为图层中的每个单元格设置一个矩形。我设置了一个玩家,如果它没有接触其中一个矩形,它就会掉落,但它会慢慢地穿过 map 掉落。

    for(int i = 0; i < g.getBounds().size; i++) {
        Intersector.intersectRectangles(bounds, g.getBounds().get(i), intersection);
        if((bounds.overlaps(g.getBounds().get(i))) && intersection.y > g.getBounds().get(i).y) {
            vel.y = 0;
            if (MyInput.isPressed(MyInput.SPACE)) {
                vel.y = 5;
            }
        } else {
            vel.y-=.0005f;
        }
    }

for 循环遍历所有矩形以检查玩家是否触摸到顶部。

最佳答案

看起来您正在循环遍历所有矩形(?)并且 vel.y 值被后面矩形的状态覆盖。

例如,您还可以使用 boolean 值来指示您位于表面上,并在循环后设置 vel.y。

关于java - Libgdx 实体重力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25111861/

相关文章:

java - JFileChooser,想把它锁定到一个目录

java - 引用类型依赖 - 将 Map.Entry 声明为依赖于为 TreeMap 声明的泛型类型

java - libgdx 着色器- 基本着色器,但屏幕是空白的

java - 为什么 30 秒的声音在我的 LibGDX 项目中只播放 4 秒?

java - libGDX 3D 使用旋转速度系数将 ModelInstance 旋转到第二个

java - 如何为命令行提供两个不同的输入?

Java spring @Value注解

java - 你能给我推荐一个程序来安装我的java程序和jre并将我的java程序作为可执行文件运行吗?

java - libgdx 视口(viewport)中的视口(viewport)更改

java - LibGDX:实现触摸屏,无需触摸屏幕