如何让对象跟随路径

时间:2010-12-20 05:45:57

标签: java android path

我在使对象跟随触摸事件绘制的路径时遇到了一些麻烦。 问题更多在于物体遵循路径的平滑度。

/* 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's 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. */

我抓住坐标,因为用户使用手指在屏幕上拖动手指 历史方法所以我不会错过任何一点。

问题在于物体沿着这条路径移动的平滑度。

如果你画的路径很慢,那么机器人将在屏幕上缓慢移动 (因为捕获了更多的x,y点?) 但是如果你快速绘制线条,那么机器人的移动速度非常快。

我需要物体在路径上以一致的速度移动。

我不知何故需要调整添加到hashTable的点之间的间距 读入点的采样率,使其一致,对象看起来很平滑 沿着这条路走。

我用Google搜索了一下,我找不到任何东西。 任何向正确方向推的都会受到赞赏。

非常感谢!

1 个答案:

答案 0 :(得分:1)

Here我展示了如何沿任何路径移动和旋转图像。从你的观点构建a smooth path。然后你可以指定任意数量的点来制作漂亮的动画。