我正在学习libgdx,我已经传授了一些教程,但是我总是在理解batch.draw()方法时遇到问题
public void draw(Texture texture,
float x,
float y,
float originX,
float originY,
float width,
float height,
float scaleX,
float scaleY,
float rotation,
int srcX,
int srcY,
int srcWidth,
int srcHeight,
boolean flipX,
boolean flipY)
我读了它documentation并且仍然对以下声明感到困惑: -
矩形由originX,originY相对于原点偏移。
这意味着什么?哪个起源在这里谈论?
另外,我做了一个简单的草图,我可以理解draw()
方法。我在正确的道路上吗?
感谢。
答案 0 :(得分:2)
矩形由originX,originY相对于原点偏移。
在originX,originY。
周围执行缩放和旋转batch.begin();
batch.draw(texture,300,200,50,50,100,100,1,1,0,100,100,50,50,false,false);
batch.end();
输出
现在旋转90度:
batch.draw(texture,300,200,50,50,100,100,1,1,90,100,100,50,50,false,false);
所以矩形在中心周围偏离90度
originX和originY位于Rectangle的中心,因此x,y
中不会出现偏移让我们将originX和originY放在矩形的左下角并旋转90度
batch.draw(texture,300,200,0,0,100,100,1,1,90,100,100,50,50,false,false);