2012-04-17 15 views
0

車の動きを道路に見せたい。私は位置を含むテキストファイルを持っていて、毎秒車の位置を更新して動きを構築しました。レットはプレーンが(200,200)と言います。今、この画面の外にいるポジションではどうすればいいですか?どうすればそこに車をたどることができますか? カメラなどを設置する必要がありますか?私のアプリが2Dの方法で です。画面外の位置と位置を更新する

+0

によって後方に移動するように表示されますオブジェクトの(0〜5)を言わせする場合

あなたの車の速度。例:あなたの車は20km/hで北東に動いているので、実際に車を動かさないで、車の下のすべてを20km/hの南西に移動します。 – PaulG

+0

しかし、その車から離れて、 !そして私は20km/hのようなスピードでは動作しません、ポジションを更新するので、車が先に移動しているようです – matarsak

+0

、私は20kmhを例として使用しましたが、すべてのフレームを一定量調整します。まあ他のオブジェクトは、画面右から移動することができますか? – PaulG

答えて

1

私の経験から、2Dプログラミングでカメラを設定するという実際のコンセプトはありませんが、間違っている可能性があります。

私が考えていることは、車が画面の中央にとどまり、その下のすべてが動くようになるということです。あなたが達成しようとしていることに依存します。

車が20km/hで北東に移動している場合は、実際に車を動かさないでください。車の下のすべてを20km/hで南西に移動してください(フレームあたり何ピクセルになるか)。

車に従ってください。外出するたびに「カメラ」を車の中央に配置したい場合は、おそらく風景と車を画面中央に移動する必要があります。

編集:私は車が主な焦点になると仮定していますか?だから、常に画面の中央にあるべきです。

ゲーム内のすべてのオブジェクトには、velocitypositionが必要です。 positionは、オブジェクトが現在どこにあるかを示し、velocityは、フレームごとにいくつのxおよびyを移動する必要があるかを示します。だからフレームごとにposition = position + velocityと言うでしょう。

車以外のオブジェクトは、カメラに追従させることなく、望むとおりに画面から外れることがあります。車を中心にして、車の速度に基づいて他のすべての物体の速度を調整します。

例:

Car's velocity (3, 0) ---> means it's moving right in the straight line at 3 pixels per frame

Object 1 velocity (4, 0) ---> means it's also moving right in a straight line but 4 pixels per frame

オブジェクト1の速度自体は、車の速度を応じて調整する必要があります。そう言う:

object1.position = object1.position + (object1.velocity - car.velocity)

オブジェクト1の新しい速度が(0,1)であるので、1によって車よりも高速に動いています。車のゲイン速度は、その後1は、私はあなたの車を中心に保つとのファクターで逆方向に他のすべてを動かす推測1.

+0

だから、車の中心に車を置き、車のスピードに対して他のオブジェクトを動かす方が良いかもしれないが、確かにわからない – matarsak

関連する問題