关于libgdx绘制方法的说明

时间:2017-07-10 14:58:04

标签: java libgdx

我正在学习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()方法。我在正确的道路上吗? 感谢。

Visual representation of how i understand the draw method

1 个答案:

答案 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();

输出

enter image description here

现在旋转90度:

batch.draw(texture,300,200,50,50,100,100,1,1,90,100,100,50,50,false,false);

所以矩形在中心周围偏离90度

enter image description here

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);

enter image description here