我想通过平移移动一组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时读取它会报告旧值。
有人可以帮助我吗?
答案 0 :(得分:0)
问题在于平移时动作仍处于活动状态,因此两种方法竞争设置群体的协调,因此出现奇怪的行为。