首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LibGDX中来自实体的不同位置的纹理

LibGDX中来自实体的不同位置的纹理
EN

Stack Overflow用户
提问于 2020-05-02 10:27:38
回答 1查看 40关注 0票数 0

我正在用LibGDX做一个原型项目,我正在使用Box2D进行物理实验。我已经创建了一个地图,并为他添加了一些碰撞,我还添加了具有圆形的实体。这些圆在Box2D世界中的位置是正确的,但我想要固定到它们的纹理是基于其他坐标,我认为是从用户相机获得的。结果如下:

我在"Entity“基类中的render方法

代码语言:javascript
运行
复制
public void update() {
    handleInput();
}

public void render(SpriteBatch batch) {
    update();
    batch.begin();
    batch.draw(texture, body.getPosition().x, body.getPosition().y);
    batch.end();
}

我在BaseMap类中的render方法

代码语言:javascript
运行
复制
private void update(OrthographicCamera camera) {
    camera.position.x = player.getPosition().x;
    camera.position.y = player.getPosition().y;
    world.step(1/60f, 6, 2);
}

public void render(OrthographicCamera camera, SpriteBatch batch) {
    update(camera);
    renderer.setView(camera);

    batch.begin();
    renderer.render();
    batch.end();

    for(Entity entity : entities) {
        entity.render(batch);
    }
}

这里的渲染器是一个OrthogonalTiledMapRenderer

EN

回答 1

Stack Overflow用户

发布于 2020-05-09 18:01:22

确保同时为批处理设置矩阵:

代码语言:javascript
运行
复制
batch.setProjectionMatrix(camera.combined);

Box2DDebugRenderer也是如此:

代码语言:javascript
运行
复制
renderer.render(world, camera.combined);

这是假设您没有使用缩放的box2d世界。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61553721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档