Я пытаюсь сделать спрайт пешком до положения мыши. Однако, когда мышь нажата, и спрайт подходит к положению мыши, он не останавливается и продолжает двигаться в том же направлении.Libgdx: Sprite хочет остановить движение;
Вот мой код:
public void render(float delta) {
Gdx.gl.glClearColor(1,1,1,1);
\t Gdx.gl.glClear(GL30.GL_COLOR_BUFFER_BIT); \t
\t \t
\t if(Gdx.input.isTouched()){
\t projected= new Vector3(Gdx.input.getX(), Gdx.input.getY(), 0);
\t cam.unproject(projected);
\t \t \t
\t if(position.x != projected.x || position.y != projected.y){
\t
pathX = projected.x - position.x;
\t \t pathY = projected.y - position.y;
\t \t \t
\t \t distance = (float) Math.sqrt(pathX * pathX + pathY * pathY);
\t \t directionX = pathX/distance;
\t \t directionY = pathY/distance;
}
\t }
\t \t
\t position.x += directionX * Speed * delta;
\t position.y += directionY * Speed * delta;
}
Пожалуйста, помогите и спасибо так много.
спасибо, я постараюсь сделать то, что вы говорите: D –
Я не вижу весь ваш код, но я предполагаю, что у вас есть слушатель, когда нажимается мышь. В этот момент я бы захватил x, y и установил их в переменные класса, чтобы у вас был доступ к нему за пределами метода рендеринга, но вы можете повторно использовать их там, где вы создаете свой Vector3 – Joe
спасибо вам, что он отлично работает сейчас, спасибо вам ^^ –