缩放和调整大小纹理之间的区别

Difference between scale and resize texture

我在 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,0作为原点,所以这两者之间没有区别。如果您使用不同的原点,那么第一个将相对于其左下角缩放精灵,而第二个将相对于原点缩放它。

从源头上看,第一个导致乘法运算少了两次,但这还不够有任何意义。 draw方法有几十个操作。