2010-11-29 10 views
0


もう少し簡単な質問をお願いします。
私は、ユーザーがタッチした画面上のポイントによって指定されたポイントに移動するpersonオブジェクトを持っています。
私はオブジェクトがその位置に移動するように速度を設定したいと思っています。
しかし、私はそれを計算するたびに速度が変わっているか、x原点がyその逆もまた同様である。
私はそれらを同じ速度で動かし、同時にポイントに到達させたいと考えています。
私は、あなたの更新機能では、事前に
ディスコオブジェクトをポイントに移動する

+0

どのように移動を実装していますか?人はある種のuiviewですか? – Vladimir

+0

良い質問があります。私はOpenGLビューを使用しています。描画するたびに、Playerオブジェクトのメソッドを呼び出して、ユーザーがタッチした位置に応じて位置を計算します。その位置にない場合は、プレーヤーオブジェクトのxとyに何かを追加します。私の選手オブジェクトは頂点であり、xとyを使って移動しています – StuStirling

答えて

0


感謝を質問して点Aから点BへのXとYの距離を計算してくださいいない場合、私は、これも説明したと思っているし、各フレームはインクリメント一定の値ではなく、同じの端数の差である。

つまりplayer.X += difference/frameCountです。

+0

差が変わると別の値が増えるため、距離は変わりませんか? – StuStirling

0

スピードは距離*時間です。必要なものはNSTimerのインスタンスです。 timerWithTimeInterval:invocation:repeats:を使用して、moveObjectメソッドを呼び出します。 moveObjectメソッドは、呼び出されるたびにオブジェクトのオブジェクトの位置が目的地の位置と等しくなるまでオブジェクトを一定の距離だけ移動させます。次にmoveObjectメソッドはタイマーを無効にし、Bobはあなたの叔父を無効にします。

---更新---- あなたはそれを知っていませんか、すぐに私はこれを書いていませんでした、そして、私は何を見ますか? UIView animateWithDuration:アニメーション:。上記はどちらがいいですか?少なくとも、私は自分自身でそれを使用していないことを願っています。それでも。

関連する問題