LibGDX Matrix在同一帧中旋转具有2个不同原点的单个纹理

时间:2018-11-20 11:27:45

标签: matrix libgdx rotation

enter image description here

我希望框纹理首先以原点(x1,y1)红点旋转90度,然后以原点(x2,y2)蓝点旋转45度。

这是我的代码:

mx4.setToTranslation(x1, y1, 0);
mx4.rotate(0, 0, 1, 90);
mx4.translate(-x1, -y1);  //Rotate 90 degree (this working)

mx4.translate(x2, y2);
mx4.rotate(0, 0, 1, 45); //Rotate 45 degree (not working, disappeared)
mx4.translate(-x2, -y2);
batch.setTransformMatrix(mx4);

batch.begin();
batch.draw(boxTexture, 0, 0);
batch.end();

我的预期结果如下: enter image description here

注意:圆形是需要使用2个不同的原点进行2次旋转的纹理

但是不幸的是事实并非如此,结果很奇怪,盒子的纹理消失了。 90度旋转效果很好,但45度旋转效果不好吗?

谢谢。

0 个答案:

没有答案