首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libgdx spritebatch不渲染纹理

libgdx spritebatch不渲染纹理
EN

Stack Overflow用户
提问于 2014-09-04 07:38:33
回答 2查看 2K关注 0票数 0

我正在使用LibGDX开发一个自上而下的角色扮演游戏,并且正在创建一个Ortho..为我的游戏准备的摄像头。然而,在这样做的时候,现在只有我的瓷砖纹理渲染。渲染代码如下所示:

摄像头初始化为new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

(请注意,camera.调用实际上是在world.update方法中进行的,我只是想尽量减少这里所需的代码量)

更新/渲染:

代码语言:javascript
复制
camera.position.set(getPlayer().getPosition().x, getPlayer().getPosition().y, 0);
camera.update();
batch.setProjectionMatrix(world.getCamera().combined);
batch.begin();
world.render(batch);
batch.end();

这个世界的render方法最终调用以下代码:

代码语言:javascript
复制
public void render(SpriteBatch batch, float x, float y, float w, float h) {
    batch.draw(region, x, y, w, h);
}

其中regionTextureRegion

没有摄像头,一切都很好,所以我很困惑为什么纹理现在只按顺序渲染(我的瓷砖纹理渲染在实体下面)有人知道为什么会这样吗?如果你想看更多代码,我在github上也有这个:CLICK HERE

EN

回答 2

Stack Overflow用户

发布于 2014-09-06 09:54:36

我后来没有意识到这一点,但我逐行注释了许多呈现行,以查看是否可以找到错误所在。事实证明,我制作的调试工具(使用ShapeRenderer呈现冲突边界)搞乱了它,因为显然,ShapeRenderer不能在batch.beginbatch.end之间使用

我是在this badlogicgames forum post的帮助下弄明白的

票数 2
EN

Stack Overflow用户

发布于 2014-09-06 00:01:31

我不能从代码中得到很多东西,但是你是在渲染结构的根上使用它吗?

代码语言:javascript
复制
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25655218

复制
相关文章

相似问题

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