(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 中调整纹理的大小?的主要内容,如果未能解决你的问题,请参考以下文章
开源java游戏框架libgdx专题-01-libgdx介绍