Java 如何绘制像素化形状(LIBGDX概念)

Java 如何绘制像素化形状(LIBGDX概念),java,libgdx,Java,Libgdx,我想在一个像素化的风格daw形状。 我当前使用ShaperEnder绘制的cirlce以真实像素渲染 但我喜欢更像素化 我用相机和视口来获得效果,但没有成功 有没有办法说,我的虚拟屏幕是w=800,h=600等等 形状被拉伸。 或极端示例:w=1、h=1和绘图点(1,1)的虚拟屏幕将填充整个屏幕 一切都是可能的:但我想避免用像“Bresenham的直线算法”这样的算法对自己进行编码,或者做一些创建自己的Pixmaps的黑客 public class SimpleCirleActor exte

我想在一个像素化的风格daw形状。 我当前使用ShaperEnder绘制的cirlce以真实像素渲染

但我喜欢更像素化

我用相机和视口来获得效果,但没有成功

有没有办法说,我的虚拟屏幕是w=800,h=600等等 形状被拉伸。 或极端示例:w=1、h=1和绘图点(1,1)的虚拟屏幕将填充整个屏幕

一切都是可能的:但我想避免用像“Bresenham的直线算法”这样的算法对自己进行编码,或者做一些创建自己的Pixmaps的黑客

public class SimpleCirleActor extends Actor {
        ShapeRenderer renderer;
        float radius;
        public SimpleCirleActor(int x , int y, float radius) {
            setBounds(0,0, Constants.pixelsPerSector(),Constants.pixelsPerSector());
            this.radius = radius;
            setX(x);setY(y);
            renderer = new ShapeRenderer();
        }

        @Override
        public void draw(Batch batch, float parentAlpha) {
            super.draw(batch, parentAlpha);
            renderer.setProjectionMatrix(getStage().getCamera().combined);
            renderer.begin(ShapeRenderer.ShapeType.Line);
            renderer.setColor(Color.CYAN);
            float x = getX();
            renderer.circle(x, getY(), radius);
            renderer.end();
        }

    @Override
    public void act(float delta) {
        super.act(delta);
    }

}

您可以绘制一个小的帧缓冲区,然后将其绘制到屏幕上,根据需要放大。只需确保将帧缓冲区纹理过滤设置为最近的像素,以便保留硬边。