精灵图像显得拉长,质量差,无法进入正确位置GDXLib

时间:2017-02-02 12:45:29

标签: java android image textures sprite

我对编程很陌生,所以请耐心等待......

我正在制作一个2D基本游戏,只是为了在android studio中练习编程,并且无法将我的精灵放到屏幕上的正确位置。此外,当我绘制精灵时,它看起来拉伸,质量很差。任何帮助表示赞赏!

public class MyGdxGame extends ApplicationAdapter {
    SpriteBatch batch;
    Texture background;
    Texture ball;

    @Override
    public void create () {
        batch = new SpriteBatch();
        background = new Texture("gamebackground.png");
        ball = new Texture("ball2.png");
    }

    @Override
    public void render () {

        batch.begin();
        batch.draw(background, 0,0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
        batch.draw(ball, 0,0, Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2);
        batch.end();
    }

1 个答案:

答案 0 :(得分:0)

您需要保持原始宽高比:

而不是将其缩放到屏幕大小的一半,定义您的缩放:

float scaleFactor = 2.0f;
batch.draw(ball, 0,0, ball.getWidth()*scaleFactor, ball.getHeight*scaleFactor);

如果您的图像“模糊”,并且您希望单个像素保持清晰,请尝试加载纹理:

ball = new Texture("ball2.png");
ball.setFilter(TextureFilter.Nearest, TextureFilter.Nearest);

这可以在缩放纹理时阻止(默认)线性插值。