我正在使用彼此相邻的多边形绘制条形图,如下所示:

如果仔细观察,每个多边形之间会有空白区域(缩放):

我试图阻止这种情况发生.我找到了SVG shape-rendering属性并将其设置为geometricPrecision.这解决了问题,但给了我非常清晰的边缘:

我也不想要那个.我尝试了其他可能的值,shape-rendering但没有一个很好.(我在WebKit上试过这些.)我正在寻找解决方案.
对于那些感兴趣的人,这里的图表是jsFiddle .
我一般来说对libgdx还是陌生的。基本上,我有一个弹跳球的世界,我只是在尝试一下。在我将摄像机固定在这样的位置之前:
在将以下行放入render方法之后,相机将继续跟踪播放器(即圆圈):
camera.position.set(player.getPosition().x, player.getPosition().y, 0);
Run Code Online (Sandbox Code Playgroud)
玩家是身体类型。
因此,当我这样做时,它确实会跟随播放器,但是形状渲染器现在的行为很奇怪。看看会发生什么:
即使我将播放器的x和y位置指的是相机和形状渲染器,但它们的位置也不相同。
这是我的代码:
public class Game extends ApplicationAdapter {
World world = new World(new Vector2(0, -9.8f), true);
Box2DDebugRenderer debugRenderer;
OrthographicCamera camera;
static final int PPM = 100;
static float height,width;
Body player;
RayHandler handler;
PointLight l1;
ShapeRenderer shapeRenderer;
@Override
public void create() {
shapeRenderer = new ShapeRenderer();
height = Gdx.graphics.getHeight();
width = Gdx.graphics.getWidth();
//set camera
camera = new OrthographicCamera();
camera.setToOrtho(false, (width)/PPM/2, (height)/PPM/2);
camera.update();
//Ground body
BodyDef groundBodyDef =new BodyDef();
groundBodyDef.position.set(new Vector2(width/PPM/2/2, 0)); …Run Code Online (Sandbox Code Playgroud) 我正在使用scene2D在LibGdx中开发我的第一个游戏.如何渲染形状以检查不同形状实体的碰撞?目前我正在渲染矩形和圆形.但它看起来不符合我的要求.哪个是渲染形状以检查碰撞的最佳方法?
文本以外的 SVG 形状受shape-rendering可以设置为crispEdges值的属性的影响(https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering)。这个值似乎关闭了抗锯齿。
但文本仅受text-rendering. 但是,这不提供crispEdges值(https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-rendering)。为什么?有没有另一种方法来获得非抗锯齿?