2010-12-20 11 views
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'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のポイントが捕獲されているため?) しかし、あなたは速い、その後ドロイド移動は本当に速い線を引く場合。

パス全体で一定の速度で移動するオブジェクトが必要です。

は何とかハッシュテーブルに追加ポイントまたはポイントをので、その一致に読み込まれる サンプル・レートとの間の間隔を調節する必要があり、オブジェクトがパス以下 滑らかに見えます。

私はこの1つのグーグルグーグルで、何か問題を発見しています。 正しい方向のどんなショーも感謝します。

ありがとうございます!

答えて

1

Hereどのような経路に沿って画像を移動して回転させるかを示しました。あなたのポイントからa smooth pathをビルドしてください。次に、任意の数のポイントを指定して素敵なアニメーションを作成することができます。

+0

私はこのプロジェクトをしばらくはやっていませんが、投稿していただきありがとうございます。私はちょうどそれを再び発射することを考えていたので、私はこれを撃つでしょう。 – jacklin