【发布时间】:2015-03-03 00:59:16
【问题描述】:
所以我有一个角色,它是一个精灵,设置在屏幕视口舞台上。我想要做的是能够触摸演员,然后触摸屏幕上的一个点,它会流畅地移动。目前,当我触摸演员时,它似乎只是跳到随机点。这是我的演员类中的一些代码,
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。
标签: java android libgdx scene2d