а.У меня есть объект.б.когда пользователь прикасается к экрану, он облегчает / изменяет координаты касания пользователя.с.если пользователь перетаскивает палец, то объект будет следовать по этому пути, просто пройдя путь, заданный входными данными из события движения ACTION_MOVE.
как мне сделать так, чтобы объект прошел кратчайшее расстояние допользователи касаются координат вместо того, чтобы следовать точному пути, который они создают?
В конечном итоге объект должен догнать координаты касания пользователя.
public Scene onLoadScene() {
this.getEngine().registerUpdateHandler(new FPSLogger());
final Scene scene = new Scene();
scene.setBackground(new ColorBackground(0.09804f, 0.6274f, 0.8784f));
final int x = (CAMERA_WIDTH - this.mFaceTextureRegion.getWidth()) / 2;
final int y = (CAMERA_HEIGHT - this.mFaceTextureRegion.getHeight()) / 2;
final Sprite face = new Sprite(x, y, this.mFaceTextureRegion);
scene.registerTouchArea(face);
scene.attachChild(face);
//face.setPosition(134, 200);
//face.registerEntityModifier(new MoveModifier(500, x, 100, y, 200, EaseQuadIn.getInstance()));
scene.setOnSceneTouchListener(new IOnSceneTouchListener() {
@Override
public boolean onSceneTouchEvent(Scene pScene,TouchEvent pSceneTouchEvent) {
int facePosX = (int) (pSceneTouchEvent.getX() - face.getWidth() / 2);
int facePosY = (int) (pSceneTouchEvent.getY() - face.getHeight() / 2);
if (pSceneTouchEvent.getAction() == MotionEvent.ACTION_MOVE)
{
face.registerEntityModifier(new MoveModifier(1, face.getX(), facePosX,face.getY(), facePosY, EaseQuadIn.getInstance()));
}
return true;
}
});
scene.setTouchAreaBindingEnabled(true);
return scene;
}