Libgdx中不同分辨率图片替换的解决方案
最近做产品开发,考虑到以后会在pad和手机平台发布,所以图片要用到不同的尺寸,比如做HD版本。但是如果在程序中直接替换图片而不影响到功能呢?
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站建设、鼓楼网络推广、微信小程序、鼓楼网络营销、鼓楼企业策划、鼓楼品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供鼓楼建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
Libgdx的相关资料找了很久,发现已经有针对IOS系统Retina的解决方案,只需要在配置文件中填写缩放比例即可,正式我们想要的。但是仔细看了一下,应该是第三方IOS类库实现的功能,那在Android下如何解决呢?
解决这个问题首要保证的就是Stage的尺寸是不能变的,因为程序中大量用到坐标参数,一旦改变就会引发很多关联问题。经过初步研究,我发现本地图片如果放大一倍,其实只是每个Texture占了更大的面积,如果能把图片显示时再缩小一倍就能解决问题。当屏幕尺寸是2倍的情况,那图片就相当于没有缩小,也就是我们预期的效果。我们的系统中基本上所有图片都是利用TextureRegion的封装,并没有直接去draw texture/sprite的方式,所以这缩小的工作就定在TextureRegion里面去实现。仔细分析了源代码,我发现直接在getRegionWidth和getRegionHeight上做文章即可,这里修改源码让应有的图片宽度进行相应比例的缩小,这样最终显示就能达到放大的本地图片按正确比例显示。
只是在图片显示上做缩放调整,应该对功能影响比较小,这个方案初步测试通过,实际使用还有待继续考证。
名称栏目:Libgdx中不同分辨率图片替换的解决方案
本文链接:http://abwzjs.com/article/gphhho.html