(Java LibGDX) 如何在 LibGDX 中调整纹理的大小?

Posted

技术标签:

【中文标题】(Java LibGDX) 如何在 LibGDX 中调整纹理的大小?【英文标题】:(Java LibGDX) How do I resize my textures in LibGDX? 【发布时间】:2013-05-28 23:36:11 【问题描述】:

我一直在玩 LibGDX,想轻松地将我的程序移植到不同的系统。我有一个背景纹理,我想将其缩放到当前使用的分辨率。图片为 1920x1080,如何在运行时将其更改为当前使用的分辨率?

【问题讨论】:

有很多方法可以回答这个问题,具体取决于您将如何渲染纹理。你能提供更多关于你正在做什么的具体细节吗? 【参考方案1】:

如果您想在绘图时缩放,请使用:

Pixmap pixmap200 = new Pixmap(Gdx.files.internal("200x200.png"));
Pixmap pixmap100 = new Pixmap(100, 100, pixmap200.getFormat());
pixmap100.drawPixmap(pixmap200,
        0, 0, pixmap200.getWidth(), pixmap200.getHeight(),
        0, 0, pixmap100.getWidth(), pixmap100.getHeight()
);
Texture texture = new Texture(pixmap100);
pixmap200.dispose();
pixmap100.dispose();

发件人:

https://www.snip2code.com/Snippet/774713/LibGDX-Resize-texture-on-load

【讨论】:

【参考方案2】:
    batch.begin();
    batch.draw(yourtexture, 0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    batch.end();

使用相机视口也可以:

    batch.begin();
    batch.draw(yourtexture, 0, 0, cam.viewportWidth, cam.viewportHeight);
    batch.end();

【讨论】:

这不是真正的缩放,只是在绘制时缩小纹理,糟糕的设备会遇到这个问题.. Boldijar Paul,您能提出更好的方法吗? @Boldijar Paul,您能提出更好的方法吗?

以上是关于(Java LibGDX) 如何在 LibGDX 中调整纹理的大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Libgdx/Java 绘制文本?

Java - Libgdx:保存和加载屏幕

如何在libgdx使用矩形类来绘制矩形边框?

开源java游戏框架libgdx专题-01-libgdx介绍

如何使用 Gradle 将 jar 文件添加到 libgdx 项目

如何在ShapeRenderer LibGDX / Java中显示旋转的多边形