Итак, у меня есть актер, который представляет собой спрайт, установленный на сцене screenviewport. Что я хочу сделать, так это иметь возможность коснуться актера, а затем коснуться точки на экране, и она будет плавно двигаться. В настоящее время, когда я касаюсь актера, он просто прыгает, казалось бы, в случайные места. Вот часть кода в моем классе актеров,
public MyActor(){
setBounds(sprite.getX(),sprite.getY(),
sprite.getWidth(),sprite.getHeight());
setTouchable(Touchable.enabled);
addListener(new InputListener(){
@Override
public boolean touchDown(InputEvent event, float x, float y,
int pointer, int button) {
MoveByAction mba = new MoveByAction();
mba.setAmount(x,y);
MyActor.this.addAction(mba);
return true;
}
});
}
@Override
protected void positionChanged() {
sprite.setPosition(getX(),getY());
super.positionChanged();
}
@Override
public void draw(Batch batch, float parentAlpha) {
sprite.draw(batch);
}
@Override
public void act(float delta){
super.act(delta);
}