2009-08-12 13 views
2

私は最近、私の質問の多くが示すように、Javaでsimゲームを開発してきました。私は他の同様のプロジェクトを見ていて、OpenGLを使用していたことに気付いていました。私はCokeAndCode "space invaders 103 - refactoring and OpenGL"を読んでいました。私はそれが私のゲームで必要なものかどうかまだ分かりません。2D Java simゲームでOpenGLを使用する必要がありますか?

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

私はこのゲームでどのようにグラフィカルに続けるべきか本当にわかりません。これは自分の楽しみのために学習したこと以外でやった最初のプロジェクトです。

ありがとうございます!

答えて

1

これはすぐに長い主観的な会話に変わる可能性がありますが、私はあなたがが必要でないという事実を述べたいと思います。 openGL。あなたのアプリケーションは、その中で最も見栄えの良いものである必要はありません。 Nethackはまだ人と私との間に魅力を感じます。

2Dおよび3Dのグラフィックスやテクスチャなどについて知りたいですか?次に、ものを試して...学ぶための最善の方法。その後、履歴書に追加することができます。

OpenGLまたは他のグラフィックライブラリでの最初の手順を実行するためのチュートリアルがたくさんあります。あなたもQt Jambiを試すことができます。

+0

ええ、あなたの権利。私は今これを2Dで作業していきたいと思っていますが、そこではいったん、ちょっとしたことがありましたら、もっと簡単なプロジェクトを見て、OpenGLを理解してください。私は本当に他に何かできることができるでしょう。私はグラフィックに関するいくつかのことを知りたいですが、私はグラフィックを作るのが本当に悪いです。ああよく – Relequestual

1

thisによれば、特定の数の悪いことをしない限り、かなりのパフォーマンスを備えたJava2Dで作業中のグラフィカルゲームを実装することはまだ可能です。

これに比べて、あなたのアプローチがどのようになっているかを確認して確認するのに役立ちます。

JavaがOpenGLサポートにどれほどの距離を置いているかわからないので、私はあなたのところで、できるだけ多くのJava2Dコードをリファクタリングして、そこから何をすべきかを理解するでしょう。

これはほんとうに役に立ちます。

+0

ありがとう、私は確かにそこのリンクを読むでしょう。私は今、私が始めたときよりも多くを知っているように、今やゲームの要素を再実装して機能させる必要があります。 2つの類似したプロジェクトがゲームの元のグラフィックスから拡大している、私が本当に欲しくない、あるいはまだ専門知識を持っているとは言えない形とグラフィックスでそれを再生したいと思っている人は誰もいません。 – Relequestual

+0

を読んでください。私が言うことの何でもしたとは言えません。ハム – Relequestual

+0

さて、私はそれらの事のいくつかを半分しか実装していません。しかし、この記事では、リアルタイムグラフィックスを専門とするように見えます。つまり、彼らの戦略が最適なスピードにつながると主張しています。あなたがそれらを試すかどうかについてのあなたの呼び出し。 –

0

どのようにグラフィカルに続けるか:テクスチャ、もっと面白いアニメーション(単純な物理エンジンや衝突検出を実装して、常に見栄えがよい)を使用する方法。

OpenGLを使用して3Dにすると、照明効果を方程式に追加することができます。これは、通常、全体の美学に多くの影響を与えます。例えば、動いている円が素晴らしいテクスチャ(大理石または何か)を持った球であった場合、それはボード上で本当に役割を果たすことができます。例えば、hereのように、拡散反射値と鏡面反射値を指定して照明を変化させることができます。

また、カメラの動きによって画像が強調される場合があります。

+0

私は正直であれば、私はおそらく少し深いところから3dを外していると思います。私は他の動く物体との衝突検出を計画していなかったので、元々のゲーム(Theme Hospital btw)のように人々が互いに歩き回ることができるように計画しました。 – Relequestual

+0

LOL、はい私はちょうどビデオを再び見て、ボタンのテキストを読む:) –

+0

3dは、すべてのオブジェクトの1つの軸をゼロに保ち、正射影をするとき、ライティングと3Dオブジェクトを使用する利点があります。たぶん、ちょうどいくつかのJavaの3Dチュートリアルを行い、それを感じて(そしてそれを楽しんで)ミニサイドプロジェクトを開始する、それはおそらくあなたが後でそれを追加できるようにリファクタリングを助けるでしょう。 –

1

OpenGL(2Dグラフィックスの場合でも)を使うことの良い点の1つは、シーンのハードウェアグラフィックアクセラレーションを取得することです(適切な場合)。

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

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

+0

ええ、情報ありがとう。私はそれが本当に素晴らしいと思うが、非常に複雑です。私はjava2Dとの仕事のゲームがほぼ完成したら、それをもっと調べるつもりだと思います。 – Relequestual

関連する問題