最近做产品开发,考虑到以后会在pad和手机平台发布,所以图片要用到不同的尺寸,比如做HD版本。但是如果在程序中直接替换图片而不影响到功能呢?
Libgdx的相关资料找了很久,发现已经有针对IOS系统Retina的解决方案,只需要在配置文件中填写缩放比例即可,正式我们想要的。但是仔细看了一下,应该是第三方IOS类库实现的功能,那在Android下如何解决呢?
解决这个问题首要保证的就是Stage的尺寸是不能变的,因为程序中大量用到坐标参数,一旦改变就会引发很多关联问题。经过初步研究,我发现本地图片如果放大一倍,其实只是每个Texture占了更大的面积,如果能把图片显示时再缩小一倍就能解决问题。当屏幕尺寸是2倍的情况,那图片就相当于没有缩小,也就是我们预期的效果。我们的系统中基本上所有图片都是利用TextureRegion的封装,并没有直接去draw texture/sprite的方式,所以这缩小的工作就定在TextureRegion里面去实现。仔细分析了源代码,我发现直接在getRegionWidth和getRegionHeight上做文章即可,这里修改源码让应有的图片宽度进行相应比例的缩小,这样最终显示就能达到放大的本地图片按正确比例显示。
只是在图片显示上做缩放调整,应该对功能影响比较小,这个方案初步测试通过,实际使用还有待继续考证。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。