2012-02-29 17 views
3

私は物理エンジンとグラフィックスエンジンを含むgameengineをやっています。現在、私のグラフィックスエンジンは60 fpsに設定されており、時々画面上の更新が遅くなることがあります。私はJPanelを追加するJFrameを持っています。これは、グラフィックエンジンがframe.repaint()を実行するたびに移動するJPanelを追加します。私は、フレーム上のこの再描画が画面上で少し遅れていると信じ始めています。JFrameとJPanel

JPanelが一直線に移動するのが遅れて、突然通常よりもさらに飛び越えることができます。

JPanel "gameField"をJFrameに配置し、JPanelの "player"をgameFieldに追加して代わりにgameFieldを再描画する方が良いですか?それとも、JFrameを再ペイントするのと基本的に同じですか? JFrameが重いコンポーネントであると聞いています。

私は高いfpsを設定しようとしましたが、何も変わりません。

+1

バッファに書き込んだ後、画面に書き込んだことがありますか? –

+0

例を教えてください。 :)私はスイングすることではない –

+2

質問を編集して、あなたが説明している問題を示す[sscce](http://sscce.org/)を含めてください。 ['AnimationTest'](http://stackoverflow.com/a/3256941/230513)は役に立つ出発点かもしれません。 – trashgod

答えて

3

このページを見てくださいhere、それは多くの読書ですが、必要なもののほとんどを含める必要があります。

EDIT:このページherehere取引のダブルバッファリングとポストこのスタックオーバーフロービットより簡潔

です。

私があなたに与えることができる最高のアドバイスは、「Javaのキラーゲームプログラミング」のコピーを見つけることです。あなたはネットから簡単に無料で古い電子ブックのバージョンを取得することができます。多くのものは少し古いですが、ゲームループを作成してバッファに書き込む最初のいくつかの章は、依然として非常に関連しており、長期的には大いに役立ちます!

+0

乾杯、これは私が必要なものです:) –

関連する問題