Как заставить объект следовать по пути

1

У меня возникают проблемы с тем, чтобы объект прошел по пути, который нарисован с помощью события касания. Проблема заключается в большей гладкости, с которой объект следует по пути.

/* the ACTION_MOVE code */
Hashtable<String, Integer> ht = new Hashtable<String, Integer>();
for (int h = 0; h < historySize; h++) {
  for (int p = 0; p < pointerCount; p++) {
      int newX = (int) event.getHistoricalX(p, h);
      int newY = (int) event.getHistoricalY(p, h);
      ht.put("x", newX);
      ht.put("y", newY);
      droid.path.add(ht);
}

droid.p.lineTo(x, y);
}
/* There a game loop that calls a move() method on this droid object.  In move I read the path list
   and see the next coordinate to move the object to. */

Я захватываю координаты, когда пользователь тянет их пальцем по экрану, используя исторические методы, поэтому я не пропущу ни одной точки.

Проблема заключается в гладкости движения объекта по этому пути.

Если вы нарисуете свой путь медленнее, дроид медленно перемещается по экрану (потому что больше х, у точек захвачены?) Но если вы быстро нарисуете линию, дроид движется очень быстро.

Мне нужно, чтобы объект перемещался с постоянной скоростью по пути.

Мне как-то нужно регулировать расстояние между точками, добавленными в hashTable или частота выборки, при которой точки считываются так, чтобы они были согласованы, и объект выглядит гладко по пути.

Я искал эту битку, и у меня проблемы с поиском чего-либо. Любой удар в правильном направлении был бы оценен.

Большое спасибо!

Теги:
path

1 ответ

1
Лучший ответ

Здесь Я показал, как перемещать и поворачивать изображение по любому пути. Постройте плавный путь из своих точек. Затем вы можете указать любое количество точек для создания приятной анимации.

  • 0
    Я давно не работал над этим проектом, но большое спасибо за публикацию. Я просто думал снова запустить его, поэтому я попробую.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню