- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将一个 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/
TL;DR 我的 ShapeRenderer 会渲染线条,但只是有时。 我看过这些帖子:LibGDX: ShapeRenderer drawing... nothing , Libgdx NESTED
我正在使用 libgdx 开发一个新应用程序,并且在我的源代码中我使用 shaperenderer 类,但是由于我购买了我的新平板电脑(Acer Iconia One 10 B3-A20),我的应用程
我不知道为什么 ShapeRenderer 对象没有在屏幕上绘制圆形。我尝试修改代码以包括建议,例如将 shaperenderer 对象的投影矩阵和变换矩阵更改为批处理矩阵,甚至在 shaperend
注意:我是 LibGdx 与 android 的新手。 我正在创建著名游戏 Color Switch 的克隆以供练习。 我使用 ShapeRenderer 来创建球和移动圆圈。在阅读了有关 Shape
我正在尝试使用 libgdx 形状渲染器绘制一条特定宽度的线。我关注了这个 link 问题是如果我指定更多的线宽,即超过 9,它不会显示增加的宽度。超过 9 或者我指定 20 或 100 像素,它将具
我决定使用 Libgdx ShapeRenderer 来绘制多边形。我想看看这有多高效,让相机在渲染时穿过 x 轴,但奇怪的事情发生了,请看这张图片: 在右侧,我没有移动相机,但在左侧,我通过移动相机
我正在尝试在 Libgdx 中创建圆角正方形我已经很好地绘制了正方形,现在在每个角上使用一个圆来绘制圆角 shapeRenderer.begin(ShapeType.Filled);
如何围绕中心旋转矩形?我在 ShapeRenderer 中找到了旋转功能: void rotate(float axisX, float axisY, float axisZ, float angle
我已经尝试了几种将圆圈绘制到生成坐标的解决方案。它不起作用,但我不知道 filledCircle 方法有什么问题?我该如何更换它? 留言: FilledCircle cannot be resolve
我使用 SpriteBatch 绘制纹理和 ShapeRenderer 绘制一些形状。 这是我在 Actor 中的代码 @Override public void draw(Batch batch,
当我使用 ShapeRenderer 时,它总是出现像素化。但如果我在 Photoshop 中以相同的尺寸绘制形状,它会非常平滑且干净。 我的方法如下: package com.me.actors;
我正在尝试让一个简单的矩形在屏幕上移动。我已经定义了我的对象并分离了更新和渲染的任务。我知道我必须在 Gamerenderer 中放置一些东西,但不知道使用什么代码来引用我的对象。任何帮助将非常感激。
我想在 shaperenderer 中绘制一个二维矩形。那没问题。但我想在这个矩形上创建一个自定义着色器。 所以我不需要纹理,我只想要一个带有自定义着色器的矩形。是否可以?怎么办? 我的矩形现在是渐变
我正在开发一款包含大量旋转变换的游戏,但我遇到了一个看似非常简单的问题 - 我认为我做错了什么。 我用 ShapeRenderer 绘制一个三角形,如下所示: shapeRend.begin(Shap
我已经使用顶点数组定义了一个形状: float[] points = new float[]{50,60,50,70,60,70, 60,60,50,60}; 我在这里画这个: shapeRende
我正在尝试使用带有此代码的 ShapeRenderer 来实现淡入淡出效果: Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.g
我使用 ShapeRenderer 绘制了一个实心圆,现在我想将此圆绘制为透明圆。我正在使用以下代码来做到这一点:但圆圈并不透明。另外,我检查了 libgdx API 和 wiki,它说需要创建 Ca
我是 libgdx 新手。我正在尝试使用 libgdx 框架编写一个基本的 Android 游戏 是否有可能用给定的图像填充用 libgdx ShapeRenderer 绘制的矩形? 如果是,如何实现
我制作了一款小行星游戏,但在使用不同的屏幕尺寸时遇到了问题。是的,我知道视口(viewport),但就我而言,我认为这行不通。我尝试使用它,但我的对象不是图像。相反,它们是由 ShapeRendere
我正在尝试使用 LibGDX 上的类进行一些 JUnit 测试,但在尝试初始化所述类时遇到 NullPointerError,这可以追溯到使用 ShapeRenderer。 这是我初始化的类: imp
我是一名优秀的程序员,十分优秀!