如果我这样做:
actor.setOrigin(0, 0);
actor.setRotation(45);
actor.setOrigin(actor.getWidth() / 2, actor.getHeight() / 2);
似乎在最后一次setOrigin
调用中,演员被重新定位到在设置了最新原点后调用actor.setRotation(45)
时的位置。
我该怎么做才能使演员的最新起源仅用于未来的“规模”和“轮换”行动?
答案 0 :(得分:1)
好的,所以我查看了libgdx的源代码,我会告诉你简短的答案。
基本上,当您设置原点或旋转时,您只需更改名为" originx"," originy"的变量。和"轮换"。因此,每次调用setOrigin都将覆盖先前调用中设置的值。
每次绘制actor时,都会使用当前变量重新计算边界。
要清楚,setOrigin看起来像这样:
public void setOrigin (float originX, float originY) {
this.originX = originX;
this.originY = originY;
}
所以先前的setOrigin丢失了。