gpt4 book ai didi

java - libGDX : desgin game assets according different size screens

转载 作者:太空宇宙 更新时间:2023-11-03 13:52:26 25 4
gpt4 key购买 nike

我开发和设计游戏的 Assets (背景、按钮等),但是当我设计任何 Assets 时,我不知道我应该设计哪种屏幕尺寸? Android 设备或 iOS 设备中的许多屏幕尺寸不同。所以,如果我从最大的屏幕开始设计,其他设备屏幕的尺寸会不好,旧设备上的 Assets 会太重,反之,如果我从小屏幕开始设计,其他设备的屏幕分辨率会很低(如果我使用例如 StrecthViewport)。

例如:

stage = new Stage(new StretchViewport(480, 800));

Galaxy note 3 (1080 x 1920) 上的这条线是低分辨率

游戏 Assets 是否有标准设计?

谁能帮帮我?

最佳答案

好吧,有很多方法可以实现您的目标。这在很大程度上取决于您创建的游戏,因此我只能简要概述一下适合我的游戏:

创建比您支持的最大屏幕更大的 Assets 。 F.e.您支持 2560x1600,然后选择 3200x2000 之类的分辨率。

为您支持的每个 TEXTURE_SIZE 创建一个 TextureAtlas。智能手机有一个 MAX_TEXTURE_SIZE 可以加载到内存中。它通常是 1024x1024、2048x2048、4096x4096(较新的手机和台式机显卡甚至可能支持更多,如 8192x8192 或更大)然后我创建了 3 个 TextureAtlas:4096 比例为 1:1,2048 比例为 50%,1024 比例为 25%。

在设备上读取 MAX_TEXTURE_SIZE,此代码段可以做到这一点。

public final static int maxTextureSize() {
/**
* See http://lwjgl.org/forum/index.php?topic=1314.0;wap2
*/
IntBuffer max = BufferUtils.newIntBuffer(16);
max.clear();
Gdx.gl.glGetIntegerv(GL20.GL_MAX_TEXTURE_SIZE, max);
return max.get(0);
}

然后根据支持MAX_TEXTURE_SIZE加载TextureAtlas。

您甚至可以走得更远。只是一些想法:

  • 您可以计算当前设备的完美 Texel 大小,并重新打包具有 1:1 屏幕像素适合 Assets 像素的 TextureAtlas。然后从该图集中加载。

  • 有些设备可能接受 4096 纹理大小,但它们的屏幕非常小,因此 2048 版本也可以工作,然后加载较小的版本。

关于java - libGDX : desgin game assets according different size screens,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33551969/

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