使用示例with the bucket 我正在尝试而不是使用
if(Gdx.input.isTouched()) {
Vector3 touchPos = new Vector3();
touchPos.set(Gdx.input.getX(), Gdx.input.getY(), 0);
使用touchUp和touchDown。
所以,为了使用它们,我定义:
Vector2 position = new Vector2();
Vector2 velocity = new Vector2();
然后:
public boolean touchDown(int x, int y, int pointer, int button) {
if (x < 800 / 2 && y > 480 / 2) {
//here?? for left movement
}
if (x > 800 / 2 && y > 480 / 2) {
//here?? for right movement
}
return true;
}
一般来说,我知道我有一个位置和一个速度。我必须更新与速度相关的位置,但我无法弄清楚如何。
答案 0 :(得分:2)
您必须使用deltatime和速度向量每帧更新对象的位置。
像这样(渲染中):
position.set(position.x+velocity.x*delta, position.y+velocity.y*delta);
和
public boolean touchDown(int x, int y, int pointer, int button) {
if (x < 800 / 2 && y > 480 / 2) {
//here?? for left movement
velocity.x = -10;
}
if (x > 800 / 2 && y > 480 / 2) {
//here?? for right movement
velocity.x = 10;
}
return true;
}
public boolean touchUp(int x, int y, int pointer, int button) {
velocity.x = 0;
}