我在libgdx中使用纹理区域,我想调整图像大小。但是我发现我可以通过两种方式完成这项任务:
batch.draw(texReg, 0, 0, 0, 0, texReg.getRegionWidth()*2, texReg.getRegionHeight()*2, 1, 1, 0);
batch.draw(texReg, 0, 0, 0, 0, texReg.getRegionWidth(), texReg.getRegionHeight(), 2, 2, 0);
这两种方法的区别是什么?在第一个我修改宽度和高度参数,在另一个我修改scaleX和scaleY参数。哪一个更有效率?
答案 0 :(得分:1)
由于您使用0,0作为原点,因此这两者之间没有区别。如果您使用了不同的原点,那么第一个将相对于其左下角缩放精灵,而第二个将相对于原点缩放它。
从源头看,第一个导致乘法运算减少两个,但这还不足以产生任何意义。 draw方法有很多操作。