Java 在LIBGDX中将sprite操作系统更改为矩形

Java 在LIBGDX中将sprite操作系统更改为矩形,java,android,libgdx,sprite,Java,Android,Libgdx,Sprite,所以我有一个矩形,我想顺时针改变它的精灵90度,而不改变它的位置 以下是我得到的: //sprites I want to use Up = new Texture("left.png"); Down = new Texture("right.png"); Left = new Texture("down.png"); Right = new Texture("up.png"); //the Rectangle square = new

所以我有一个矩形,我想顺时针改变它的精灵90度,而不改变它的位置

以下是我得到的:

    //sprites I want to use
    Up = new Texture("left.png");
    Down = new Texture("right.png");
    Left = new Texture("down.png");
    Right = new Texture("up.png");

    //the Rectangle
    square = new Rectangle();
    square.x = 630;
    square.y = 720 / 2 - 32 /2;
    square.width = 32;
    square.height = 32;
在render()上

因此,我想用上面的精灵来改变矩形精灵。
谢谢你的帮助

它将帮助您使用纹理实际创建精灵。例如:

Sprite upSprite = new Sprite(Up)
精灵原点将自动位于左下角,并围绕该点旋转。要将原点设置为精灵的中间,请执行以下操作:

upSprite.setOriginCenter()
然后,要将精灵旋转90度,可以执行以下操作:

upSprite.setRotation(90)
现在您可以绘制相同的图形,但是我建议更新精灵位置:

upSprite.setPosition(square.x, square.y)
这样你只需要做

 upSprite.draw(batch)

有关详细信息,请检查。

SpriteBatch有一种通过旋转(关于左下角)绘制纹理或纹理区域的方法。因此,用旋转角度和一些偏移量来绘制它,以说明左下角应该在哪里,以保持您想要的位置。谢谢!!所以,如果我想让它在触摸屏幕时旋转,我需要添加什么?它是这样的:
if(Gdx.input.isTouched()){upSprite.setRotation(90);}
查找触地或触地事件会更容易,因此只需调用一次。看一看。输入处理器应该做你需要的事情。我让它工作了。再次感谢!!但是如果我触摸它,它只会旋转一次,我需要添加什么才能使它在每次触摸屏幕时都旋转?
setRotation(degrees)
会将它设置为您指定的任何角度(现在每次单击它都会保持90°)。因此,如果您希望它每次旋转,您需要相应地每次修改
。非常感谢您的帮助和时间!!我让它工作了
 upSprite.draw(batch)