Итак, у меня есть актер, который является спрайтом, установленным на этапе просмотра экрана. То, что я хочу сделать, - это коснуться актера, а затем коснуться пятна на экране, он будет двигаться так свободно. В настоящее время, когда я касаюсь актера, он просто прыгает, по-видимому, в случайные пятна. Вот некоторые из кода в моем классе актера,Переместить актеры точно LibGDX Scene2d
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);
}
Использовать метод проекта камеры видового экрана сцены, чтобы преобразовать экран X и y в x и y сцены. – Tenfour04