相关疑难解决方法(0)

Libgdx的世界单位

我一直在尝试学习libgdx,但是现在我对那里的世界单位有些困惑,我什至不知道我应该问什么确切的问题。

无论如何,我一直在这里阅读示例游戏代码 ,据我了解,没有摄像头时,SpriteBatch会渲染与设备分辨率相关的所有内容,因此会产生像素,但是当我们制作摄像头时,先设置其“大小”,位置,然后使用batch.setProjectionMatrix(camera.combined),批量转换像素单元,然后它知道在何处渲染,但在这场比赛中有之间的碰撞检测Rectangle的物体,当你的这个是设置位置Rectanglerect.set(x, y, 1, 1);其中xy是世界的单位,而不是像素,请问矩形知道它应该使用那些xy作为单位,而不是像素,如果没有什么setProjectionMatrix可以让我们知道现在我们正在以单位而不是像素为单位,那么这就是1, 1);最后,它也是单位吗?如果是这样,那么Rectangle如何知道这些单位应该多大(例如游戏中的比例为1/16)renderer = new OrthogonalTiledMapRenderer(map, 1 / 16f);.

我什至不知道这个问题是否真的有道理,但这就是我在这里,我真的在这里迷路了

编辑:好的,我知道单元现在是如何工作的,但是碰撞仍然使我有些困惑,在此示例中,我创建了这个

// onCreate
    mapSprite = new Sprite(new Texture(Gdx.files.internal("space.png")));
            planetTexture = new Texture(Gdx.files.internal("planet.png"));
            shapeRenderer = new ShapeRenderer();


           //Planet(X,Y,Radius)
        planet = new Planet(20, 30, 7);
        planet2 = new Planet(70, 50, 8);
        circle = new Circle(planet.getPosition().x + planet.radius, planet.getPosition().y + planet.radius, planet.radius);
        circle2 = …
Run Code Online (Sandbox Code Playgroud)

java libgdx

2
推荐指数
1
解决办法
453
查看次数

标签 统计

java ×1

libgdx ×1