我在使对象跟随触摸事件绘制的路径时遇到了一些麻烦。 问题更多在于物体遵循路径的平滑度。
/* 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搜索了一下,我找不到任何东西。 任何向正确方向推的都会受到赞赏。
非常感谢!