Java 在libGDX中移动玩家时,连接到玩家的大刀会向前跳跃2像素

Java 在libGDX中移动玩家时,连接到玩家的大刀会向前跳跃2像素,java,libgdx,Java,Libgdx,这是交易。我有一个玩家在平铺游戏地图中有一把大刀。大刀连接到玩家的位置,当按下鼠标左键时,它围绕玩家旋转以模拟“挥杆”。然而,当我用大刀攻击时,每当我移动玩家时,用5x5蓝点表示的大刀就会跳到我前进方向的2个像素处 我在播放器上遇到了这个问题,但是使用batch.setProjectionMatrix(camera.combined) 这一次,无论我使用投影矩阵做什么,蓝点要么向前跳2个像素,要么向前跳10-20px,然后变为正常 以下是Broadsware类的渲染方法,我在其中测试了多个场景,

这是交易。我有一个玩家在平铺游戏地图中有一把大刀。大刀连接到玩家的位置,当按下鼠标左键时,它围绕玩家旋转以模拟“挥杆”。然而,当我用大刀攻击时,每当我移动玩家时,用5x5蓝点表示的大刀就会跳到我前进方向的2个像素处

我在播放器上遇到了这个问题,但是使用
batch.setProjectionMatrix(camera.combined)

这一次,无论我使用投影矩阵做什么,蓝点要么向前跳2个像素,要么向前跳10-20px,然后变为正常

以下是Broadsware类的渲染方法,我在其中测试了多个场景,并包括了最接近非反弹的场景:

...
public void render() {
    if(!isSwinging)
        return;
    //Using a new Batch object, not the one from the Main class and
    // setting the projection matrix to camera.combined after we draw the broadsword
    //  (a blue dot) is the only way that partially works.
    batch.begin();
    batch.draw(texture, broadSwordPos.x, broadSwordPos.y);
    batch.setProjectionMatrix(camera.combined);
    batch.disableBlending();
    batch.end();
    
}
...
上面的方法是唯一部分有效的方法(在开始攻击时,大刀向前跳10到20像素,持续几秒钟,然后返回到所需位置)

任何其他方法,例如使用主类中使用的SpriteBatch对象 (批量粘贴到游戏世界,粘贴到玩家,然后粘贴到大刀) 或者在绘制之前设置投影矩阵,则不起作用,并导致向前反弹2倍的问题

这里怎么了?(如果我需要提供更多代码,请告诉我)