3

私の質問の多くが示すように、私は最近Javaでsimゲームを開発してきましたが、それは長い道のりを歩んできました!グラフィック的にはやや不足していて、現在はアイテム、人、部屋などの形を使っています。

他の同様のプロジェクトを調べていたところ、OpenGLを使用していることに気づきました。私はCokeAndCode「スペースインベーダー103-リファクタリングとOpenGL」を読んでいますが、それが私のゲームに必要なものかどうかはまだわかりません。

これは前の質問で使用したビデオですが、リファクタリングと再コーディングを何度も行ったにもかかわらず、基本的にこれまでの内容を示しています(http://www.screenjelly.com/watch/Bd7d7pObyFo )。過去数週間ですが、グラフィカルには何も変わっていません。私が理解しているように、私は現在java2Dを使用してこれを行っています。

このゲームをグラフィカルに続行する方法が本当にわかりません。これは私が自分の楽しみのために学ぶこと以外で行った最初のプロジェクトであり、それで私はまだこれにかなり慣れていません。

前もって感謝します!

4

4 に答える 4

2

これはすぐに長い主観的な会話に変わる可能性がありますが、 openGLは必要ないという事実を述べたいと思います。アプリケーションは、見栄えの良いものである必要はありません。Nethackは今でも人々を魅了し、あなたと私の間で:グラフィックスは最悪です。

2Dおよび3Dのグラフィックスやテクスチャなどについて学びたいですか?次に、何かを試してみてください...学ぶための最良の方法。次に、これを履歴書に追加できます。

OpenGLまたは他のグラフィックライブラリで最初のステップを実行するためのチュートリアルはたくさんあります。QtJambiを試すこともできます。しかし、あなたが始めたら、あなたは乗り物に乗っています;)

于 2009-08-14T14:02:00.180 に答える
1

これによると、特定の数の悪いことをしないように注意する限り、Java2Dで適切なパフォーマンスで動作するグラフィカルゲームを実装することは依然として大部分可能です。

これと比較して、アプローチがどのようになっているかを確認するのに役立つ場合があります。

JavaがOpenGLをサポートするようになったのはどこまでかわからないので、私があなたの代わりにいたら、Java2Dコードのリファクタリングがどれだけできるかを見て、そこから何をすべきかを理解するでしょう。

これが少なくとも少しは役立つことを願っています。

于 2009-08-12T14:52:56.653 に答える
1

openglを使用することの良い面の1つは、(2Dグラフィックスの場合でも)シーンのハードウェアグラフィックスアクセラレーションを取得できることです(適切に実行されている場合)。

また、正射影を使用し、軸(Z)の1つをゼロのままにして、2Dグラフィックスを作成することもできます。OpenGLを使用すると、3D効果(稲妻など)を追加するのが簡単になります。

ただし、OpenGLを追加すると、プレーンなJava2Dよりも少し複雑になる可能性があるため、グラフィックをどれだけ改善するかによって異なります。

于 2009-08-14T15:07:37.383 に答える
0

グラフィカルに続行する方法:テクスチャ、より興味深いアニメーションを使用します(単純な物理エンジンや衝突検出を実装します。これは常に見栄えがします)。

3Dに移行すると(たとえば、openglを使用して)、方程式に照明効果を追加できます。これは通常、全体の美学に大きな影響を与えます。たとえば、移動する円が素敵なテクスチャ(大理石など)の球である場合、それをボード上で実際に役割を果たし、拡散反射値と鏡面反射値を指定して、たとえばここのように照明を変えることができます。

カメラの動きもグラフィックを強化することができます。

于 2009-08-12T15:10:03.770 に答える