我开发和设计资产(背景,按钮,.等等)我的游戏,但当我设计任何资产,我不知道我设计的屏幕大小?在安卓设备或iOS设备中,许多屏幕大小不同。因此,如果我以最大屏幕开始设计,其他设备屏幕的尺寸将不太好,旧设备上的资产将太重,如果我开始使用小屏幕设计,其他设备屏幕将是低分辨率(如果我使用StrecthViewport)。
例如:
stage = new Stage(new StretchViewport(480, 800));银河注3 (1080 X 1920)上的这一行是低分辨率的。
游戏资产是否有标准的设计?
有人能帮我吗?
发布于 2015-11-06 09:31:02
有很多方法可以达到你的目标。这在很大程度上取决于你创造的游戏,所以我只能给你一个简单的概述什么对我有用:
创建比您支持的最大屏幕更大的资产。F.e.您支持2560x1600,然后使用类似于3200x2000的内容。
为您支持的每个TextureAtlas创建一个TEXTURE_SIZE。智能手机有一个可以加载到内存中的MAX_TEXTURE_SIZE。它通常是1024x1024,2048x2048,4096x4096 (更新的手机和桌面图形卡可能甚至更像8192 x8192或更高),然后我创建了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);
}然后在支持TextureAtlas的基础上加载MAX_TEXTURE_SIZE。
你甚至可以更进一步。只是一些想法:
https://stackoverflow.com/questions/33551969
复制相似问题