У меня возникают проблемы с тем, чтобы объект прошел по пути, который нарисован с помощью события касания. Проблема заключается в большей гладкости, с которой объект следует по пути.
/* 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 или частота выборки, при которой точки считываются так, чтобы они были согласованы, и объект выглядит гладко по пути.
Я искал эту битку, и у меня проблемы с поиском чего-либо. Любой удар в правильном направлении был бы оценен.
Большое спасибо!
Здесь Я показал, как перемещать и поворачивать изображение по любому пути. Постройте плавный путь из своих точек. Затем вы можете указать любое количество точек для создания приятной анимации.