gpt4 book ai didi

android - libgdx:当我使用 Shaperenderer 添加 Actor 时,为什么我的所有 Actor 都没有渲染?

转载 作者:行者123 更新时间:2023-11-29 17:17:13 25 4
gpt4 key购买 nike

我正在将一个 Actor 添加到一个组中,这导致我的所有 Actor 都无法显示。 actors 绘制方法使用 Shaperenderer,如下所示

@Override
public void draw(Batch batch, float parentAlpha) {
super.draw(batch, parentAlpha);

shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
shapeRenderer.rectLine(ax, ay, bx, by, 5);
shapeRenderer.end();
}

每当我删除 Actor 时,组中的所有其他 Actor 都可以毫无问题地表演。我该如何解决这个问题?

最佳答案

您不能交错 SpriteBatch 和 ShapeRenderer 的开始/结束。当调用 actor 的 draw 方法时,begin() 已经在 SpriteBatch 上被调用了。所以你可以像这样修复你的 draw() 方法:

@Override
public void draw(Batch batch, float parentAlpha) {
super.draw(batch, parentAlpha);
batch.end();
shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
shapeRenderer.rectLine(ax, ay, bx, by, 5);
shapeRenderer.end();
batch.begin();
}

还要确保您已经为形状渲染器设置了投影矩阵。

请注意,您正在为执行此操作的每个 actor 导致额外的 SpriteBatch 刷新。

关于android - libgdx:当我使用 Shaperenderer 添加 Actor 时,为什么我的所有 Actor 都没有渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38313831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com