我想绘制一个圆形到从Image not ShapeRenderer创建的Libgdx。但是,当我尝试将图像绘制到SpriteBatch时,它不会顺利绘制。
如何在Libgdx中绘制光滑的圆圈
我检查了图像分辨率和图像尺寸是1673x1673和雪碧尺寸是80×80。
//This is my GameState code
@Override
public void render(float delta) {
update(delta);
SpriteBatch sb = game.batch;
Color bg = ThemeFactory.getInstance().getTheme().backgroundColor;
Gdx.gl.glClearColor(bg.r, bg.g, bg.b, bg.a);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
sb.setProjectionMatrix(camera.combined);
sb.begin();
for(int i =0;i<elements.size();i++){
if(!(elements.get(i) instanceof Arrow)){
elements.get(i).render(sb);//HERE IS DRAWING HAPPENING
}
}
sb.end();
barriers.render(sb);
renderHud();
}
我的圈子的构造函数和渲染代码如下。
public Circle(Texture texture, Size size, Vector3 position){
mSprite = new Sprite(texture);
mSprite.setSize(size.width, size.height);//80x80
mSprite.setPosition(position.x, position.y);
mSprite.setOriginCenter();
}
@Override
public void render(SpriteBatch sb) {
mSprite.draw(sb);
}
谢谢你的回答。我使用MipMapLinearNearest,Nearest过滤器解决了我的问题。 –