形状渲染器增加方形尺寸不均匀
Shape Renderer Increasing Square Size Not Uniform
所以我有一个我扩展的 actor 对象,它将绘制一个正方形或一个圆形,每帧它的大小增加 0.1。
当我绘制圆圈时,它的大小会正确增加并在屏幕上增大,但是当我绘制矩形时,它的大小会每 2.0 增量跳跃一次。我想知道是否还有其他人看到过这种行为。
这是我用来绘制形状的简单代码。
float size = 10.0f;
@Override
public void draw(Batch batch, float parentAlpha) {
super.draw(batch, parentAlpha);
ShapeRenderer r = new ShapeRenderer();
r.begin(ShapeRenderer.ShapeType.Filled);
r.setColor(Color.RED);
//r.circle(this.getX() - (size / 2), this.getY() - (size / 2), size); //this increases correctly
r.rect(this.getX() - (size / 2), this.getY() - (size / 2), size, size); //this doesnt
r.end();
size += 0.1f;
}
所以你可以明白我的意思我拍了一些视频:
在我看来,正方形正在尽可能少地扩展,一次扩展 1 个像素,它看起来与圆形有点不同,因为圆形不仅仅是向每边扩展 1 个像素它必须圆圈看起来总是尽可能圆,所以更新得更频繁一些,移动了几个像素但没有扩大。
所以我有一个我扩展的 actor 对象,它将绘制一个正方形或一个圆形,每帧它的大小增加 0.1。
当我绘制圆圈时,它的大小会正确增加并在屏幕上增大,但是当我绘制矩形时,它的大小会每 2.0 增量跳跃一次。我想知道是否还有其他人看到过这种行为。
这是我用来绘制形状的简单代码。
float size = 10.0f;
@Override
public void draw(Batch batch, float parentAlpha) {
super.draw(batch, parentAlpha);
ShapeRenderer r = new ShapeRenderer();
r.begin(ShapeRenderer.ShapeType.Filled);
r.setColor(Color.RED);
//r.circle(this.getX() - (size / 2), this.getY() - (size / 2), size); //this increases correctly
r.rect(this.getX() - (size / 2), this.getY() - (size / 2), size, size); //this doesnt
r.end();
size += 0.1f;
}
所以你可以明白我的意思我拍了一些视频:
在我看来,正方形正在尽可能少地扩展,一次扩展 1 个像素,它看起来与圆形有点不同,因为圆形不仅仅是向每边扩展 1 个像素它必须圆圈看起来总是尽可能圆,所以更新得更频繁一些,移动了几个像素但没有扩大。