gpt4 book ai didi

android - 如何在 Libgdx 中绘制光滑的圆圈

转载 作者:搜寻专家 更新时间:2023-11-01 09:31:35 25 4
gpt4 key购买 nike

我正在尝试为 Libgdx 绘制一个圆圈,它是从 Image 而不是 ShapeRenderer 创建的。但是当我尝试将图像绘制到 SpriteBatch 时,它绘制不流畅。
This is the Image that I am using

This is the Image that drawing

我检查了图像分辨率,图像尺寸为 1673x1673, Sprite 尺寸为 80x80。

  //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);
}

最佳答案

2个提示:1.提高抽样2. 为你的纹理使用 libgdx mipmap

我建议使用:过滤器 1:MipMapLinearNearest,Nearest 或过滤器 2:线性,线性

过滤器 1 速度快,过滤器 2 质量高

有关更多信息,请阅读 this


过滤

缩小/放大过滤器定义了图像在缩放时的处理方式。对于“像素艺术”风格的游戏,通常 Filter.Nearest 是合适的,因为它会导致硬边缩放而不模糊。指定 Filter.Linear 将使用双线性缩放以获得更平滑的结果,这通常对 3D 游戏(例如 1024x1024 岩石或草地纹理)有效,但对 2D 游戏并非总是如此。在 OpenGL 中,使用的术语分别是 GL_NEAREST 和 GL_LINEAR。

关于android - 如何在 Libgdx 中绘制光滑的圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46858904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com