通过平移移动组

时间:2015-03-25 16:40:58

标签: libgdx

我想通过平移移动一组Actors。

 @Override
public boolean pan(float x, float y, float deltaX, float deltaY) {
    Gdx.app.debug(TAG," Delta " + deltaX * screen.ppu + " old x "+ screen.getLevelGroup().getX());

    float newX = screen.getLevelGroup().getX() + deltaX * screen.ppu;
    Gdx.app.debug(TAG,"new X " + newX);
    screen.getLevelGroup().setX(newX);


    return true;
}

有时这不起作用。似乎组的X属性在获取和设置之间发生了变化。请注意,它不会一直发生。 错误的日志文件如下:

  

StageSelectorGestureDetector:Delta 7.5117373 old x -639.64   StageSelectorGestureDetector:new X -632.1283

     

StageSelectorGestureDetector:Delta 7.5117373 old x -639.566

     

StageSelectorGestureDetector:new X -632.05426

     

StageSelectorGestureDetector:Delta 9.765259 old x -639.5344

     

StageSelectorGestureDetector:new X -629.76917

     

StageSelectorGestureDetector:Delta 5.258216 old x -639.5344

请注意,即使我正在设置X,但在下次调用pan时读取它会报告旧值。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

问题在于平移时动作仍处于活动状态,因此两种方法竞争设置群体的协调,因此出现奇怪的行为。