2011-08-26 4 views
5

これまでGraphics2Dクラスの基礎を学び始めたばかりですが、これまでのところ異なるオブジェクトを描画してを実際に画面上に移動するにはonKeyPressで実装しました。これまでのところ、私はもっと複雑なことをやっていると思っていました。私はパスを私のオブジェクトに与えて、その特定のパスでのみアニメーション化したいと思います。Graphics2DコンテキストでPath2DオブジェクトのRectangleをアニメーション化する方法

何かのように、私は空に線を描き、飛行機はその描いた線に固執し、その特定の線上を飛ぶように自己を保つべきです。今それは可能ですか?

私はコードを一切必要としませんが、いくつかの方法やアイデアがあれば、これについて作業を開始できます。私のアイデアの視覚化の精緻化は以下の通りです。

スタートポイント:

enter image description here

エンドポイント:今すぐ

enter image description here

上記のように、(将来的平面内の)私の黄色のボックス指定されたパスに固執すべきですアニメーション中(パスグレーライン)

私の研究これまでのところ、

私はこの問題を解決するためにそれを使用できるかどうか、誰もが知っている、そのようなJavaでパスとしての私の話題の言葉を検索し、Path2DGeneralPathクラスを発見しました。

ありがとう

+0

javadocは何を言っていますか? http://download.oracle.com/javase/6/docs/api/java/awt/geom/Path2D.html –

+0

ありがとうございましたJB前に読んでいましたが、理解できませんでしたが、答えの下には明確な概念が凝縮されています。 – doNotCheckMyBlog

答えて

2

素晴らしい!

私の最初のステップを思い出させます。私はこのシンプルな数学をどれだけ楽しんだのですか? :)

実際には線形補間が必要です。補間といくつかのAPIの他の種類がありますコンセプトのための素敵なカプセル化を提供するが、ここでの主なアイデアで、あなたはかなり頻繁にこのようなものが必要になります。

あなたに

y = f (x) 

あなたのパスを書き換える必要があります時間の関数:

時刻0にアイテムが開始位置にあり、時刻1に終了に達する。そしてあなたはあなたが望むように時間(t)を増やします(例えば、毎ms毎に0.001)。だからここ

は、単純な直線経路の計算式である:

x = xstart + (xend-xstart) * t 
y = ystart + (yend-ystart) * t 

トンが変化すると、オブジェクトだけの経路に沿って直線的に移動する、直線速度は、すべてのパス上の定数になります持っています。あなたが...これは二次加速度(T^2の代わりにTの)によってモデル化されるだろう、例えば最後に

よろしく、 ステファン

+0

良い説明、私はあなたの数式をアニメートすると考えます。ありがとう... NHLをお楽しみください! – doNotCheckMyBlog

1

まず、ポイントaからポイントbに移動できるようにします。これは単純な代数で行われます。

次に、パスを取得してポイントに変換する機能を作成します。そして、曲線を描くとき、​​実際にはその曲線に沿ってポイントツーポイントで移動しています。

これは最も基本的な方法であり、ほとんどの場合に使用できます。

+0

Path2Dでパスを作成してメソッドを呼び出すと、getIteratorPathによってパスに関する情報が得られますか?そのようなxとyの位置はパス?そう簡単に聞こえる、私が始めてみましょう、ありがとうglowcoder – doNotCheckMyBlog

1

あなたの話は単純な2Dグラフィックスとスプライトです。もしあなたがJavaに必要なのであれば、Java 2D Spritesを見てください。カメラの視点に向かって、あるいは最終的には、Java 3D from the OpenSource Java 3D.orgを使って別の角度からアニメーションを見たいと思ったら、いずれにしても、2Dまたは3Dのどちらかで非常にシンプルな、ラインに沿ったオブジェクトの単純な翻訳です。

1

をgravtity名所のいくつかの種類を想像することができますが、トラフ行く試すことができます私のオープンソースカレッジプロジェクトのコード - LANSim。コードは[コード]メニューで利用できます。それはあなたがしようとしているものに似ています。

+0

共有してくれてありがとう、よさそうだよ – doNotCheckMyBlog

関連する問題