【发布时间】:2014-05-16 04:44:58
【问题描述】:
在我的安卓游戏中,我使用的是固定分辨率的图像,比如说 256x256。现在对于不同的设备屏幕,我通过计算适合该设备的宽度和高度来渲染它们。
假设在 Galaxy Note2 上我计算出 width=128 和 height=128... 同样对于不同的设备,宽度和高度会有所不同。
这就是我创建纹理的方式..
....
imageTexture = new Texture(...);
....
在渲染()中..
....
spriteBatch.draw(imageTexture,x,y,width,height);
....
所以,每次我调用 draw() 方法时,libgdx/opengl 是否会将图像从 256x256 缩放到 128x128,我认为是的!
有没有办法告诉 opengl/libgdx 只计算一次所有缩放?
我不知道图像是如何渲染的?加载到内存中?缩放等?
libgdx 中的 Sprite 是如何工作的?我试着理解 Sprite 的代码,在我看来他们也在获取图像的宽度和高度,然后每次都对其进行缩放,即使他们有 setScale() 方法。
【问题讨论】:
标签: android image textures libgdx render