タグ付けされた質問 「java」

Javaは人気のあるオブジェクト指向プログラミング言語であり、ほとんどのハードウェアおよびソフトウェアプラットフォームでJavaプログラムを変更せずに実行できるランタイム環境です。

4
3DモデルをJavaにロードする方法は?
LWJGLを使用して、画面に描画する3Dモデルをロードする最も簡単な方法は何ですか? LWJGLには読み込みサポートが組み込まれていないので、特に.blendファイルを読み込むのに役立つ小さなライブラリを探しています。
14 3d  java  3d-meshes  blender  lwjgl 

3
プールゲームのアルゴリズムはありますか?
プールゲームでボールの方向と速度を計算するアルゴリズムを探しています。プールゲームは、私が覚えている最も古いコンピューターゲームの一部であるため、これには何らかのタイプのオープンソースコードが必要だと確信しています。 つまり、あるボールが別のボールに当たった場合、両方のボールの方向を計算するアルゴリズムが必要です。それは、彼らがお互いに衝突する正確な角度と速度に依存します。 Javaコーディングを練習したいので、このタイプのコードを持つJavaコードまたはパッケージを探しています。
14 java  physics  billards 

6
ゲームデザインのC ++を知らないことで自分自身を傷つけていますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 2年前に閉店。 今、私はJavaとC#の両方に強いと感じています。(実際には、一方から他方への大きな飛躍ではありません)。 ゲームデザイナー/プログラマーが私のキャリアの早い段階で達成可能な目標になるとは思いませんが、これは私のキャリアの後半で到達する目標です。 これを念頭に置いて、C ++とそれに関連するゲームデザインツールを無視すると、最終的に私を傷つけたり、目標を達成する能力が遅くなると感じています。 これは事実ですか?または、XNAとWPFを使用して自分のC#スキルを磨き続け、個人的なプロジェクトでそのようなキャリアに昇格させることができますか?
14 xna  c++  c#  java  wpf 

8
C#(Mono)/ Java 3D Game Engineの推奨事項[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 7年前に閉鎖されました。 クロスプラットフォーム(Win / Mac / Linux、コンソールは気にしない)開発に適したC#ゲームエンジンを推奨できますか? 未加工のOpenGLの経験があり、JavaバインディングとJMonkeyEngineをいじりました。しかし、私はそれらのソリューションに多少失望し、本当に有望なOgre3Dを試しましたが、C ++であるPITAで開発する必要はありません。 私はこのリストを見ましたが、それはかなり圧倒的です。オールインワンのソリューションを探しているわけではありません。つまり、ネットワーク、オーディオ、その他すべてのジャズを実際にサポートする必要はありませんが、サポートされていれば害はありません。 たぶん、私が知らない素晴らしいJavaソリューションもありますか?
14 c#  java  cross-platform  mono 

2
Scene2Dでポップアップウィンドウを作成するにはどうすればよいですか?
メインメニュー画面には、ロゴと多数のボタンがあります。ログインボタンを押すと、ユーザー名とパスワードを尋ねるダイアログがポップアップします。 これは、「ポップアップ」以外は正常に機能します。現時点では、新しいダイアログボックスはすべてをシフトしますが、現在のシーンの上に配置したいと思います。 私はただScene2Dを学んでいます。
13 java  libgdx  menu  scene2d 

3
配列のオブジェクトまたはオブジェクトの配列?
Roller Coaster Tycoonのラインに沿った、管理シムゲームを作成しています。パフォーマンスを最大化するために、ワールドオブジェクトを構造化する最善の方法を知りたいです。 私のゲームには5,000人の人がいるとしましょう: オブジェクトを作成し、そのような配列に保存します。 class person() { this.x = 0; this.y = 0; this.thirst = 15; this.hunger = 15; // etc.. add methods: public findPath(int destX, int destY) { // and so on } people = new person[5000]; for (int = 0; i < 5000; i++) { people[i] = …

3
構成が重いOOP対純粋なエンティティコンポーネントシステム?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 私は認めます、私は相続財産を濫用し、さらには虐待の罪を犯しました。OOPコースを受講するときに作成した最初の(テキスト)ゲームプロジェクトは、「ドア」と「1つのドアがある部屋」、「2つのドアがある部屋」から「ロックされたドア」と「ロック解除されたドア」 「部屋」から。 私が最近取り組んだ(グラフィカルな)ゲームでは、自分のレッスンを学び、継承の使用に制限をかけたと思いました。しかし、問題がすぐに現れ始めたことに気付きました。私のルートクラスはどんどん肥大化し始め、リーフクラスは重複したコードでいっぱいになりました。 私はまだ間違ったことをしていると思っていたので、オンラインで調べたところ、この問題を抱えているのは自分だけではないことがわかりました。いくつかの徹底的な調査の後、エンティティシステムを発見することになりました(読む:googlefu) 読み始めたとき、コンポーネントを使用した従来のOOP階層で発生していた問題をどれだけ明確に解決できるかを知ることができました。ただし、これらは最初の測定値でした。もっとつまずいたとき… T-machineのような「ラジカルな」ESアプローチ。 私は彼らが使っていた方法に反対し始めました。純粋なコンポーネントシステムは過剰であるか、直感的ではなく、おそらくOOPの強さのように見えました。著者は、ESシステムはOOPの反対であると言っており、OOPに沿って使用できるかもしれませんが、実際には使用すべきではありません。私はそれが間違っていると言っているわけではありませんが、実装したい解決策のような気がしませんでした。 ですから、私にとって、そして私の直感に反することなく、投稿の冒頭で抱えていた問題を解決するには、まだ階層を使用することですが、以前に使用したようなモノリシックな階層ではなく、ポリリシックなもの(モノリシックの反対語が見つかりませんでした)は、いくつかの小さな木で構成されています。 次の例は、私が何を意味するかを示しています(これは、Game Engine Architectureの第14章で見つけた例から着想を得ています)。 車両用の小さなツリーがあります。ルート車両クラスには、レンダリングコンポーネント、衝突コンポーネント、位置コンポーネントなどが含まれます。 そして、車両のサブクラスであるタンクは、そこからこれらのコンポーネントを継承し、独自の「キャノン」コンポーネントが与えられます。 キャラクターについても同じことが言えます。キャラクターは独自のコンポーネントを持ち、プレイヤークラスはそれを継承し、入力コントローラーを与えられますが、他の敵クラスはキャラクタークラスを継承し、AIコントローラーを与えられます。 この設計には問題はありません。純粋なEntity Controller Systemを使用していないにもかかわらず、バブリングアップ効果と大きなルートクラスの問題はマルチツリー階層を使用することで解決され、葉が重複しないため、葉を複製する重いコードの問題はなくなりました開始するコードは、コンポーネントだけです。リーフレベルに変更を加える必要がある場合、コードをどこにでもコピーペーストするのではなく、単一のコンポーネントを変更するのと同じくらい簡単です。 もちろん、私と同じように経験が浅いので、最初に単一階層の継承の重いモデルを使用し始めたときに問題は見られなかったため、現在実装を考えているモデルに問題がある場合は、それを見ることができます。 あなたの意見は? PS:私はJavaを使用しているため、通常のコンポーネントを使用する代わりに、多重継承を使用してこれを実装することはできません。 PPS:コンポーネント間の通信は、依存コンポーネントを相互にリンクすることにより行われます。これは結合につながりますが、私はそれが良いトレードオフだと思います。


2
タイルマップのレンダリング中に不均一なタイルをどのように処理しますか?
ここに、私が確信できないタイルマップで何をしたいのかを示します。ご覧のとおり、上部の壁は下部および側面の壁よりもかなり大きくなっています(これは、[Lのように正方形のような奇妙な形状]であるコーナーと、現在のタイルの40x40px )。 また、タイルに使用しているタイルシートを添付して、他のタイルと比較してコーナーとトップがどのように見えるかを示しています。 私が考えているのは、WxHの代わりに幅と高さのタイルを使用すると、同じ配列を使用してそれらを描画できる可能性があるということです?これがどれだけうまく機能するかわかりませんが、異なる値を持つブロックがプレイヤー/ NPCが踏むことができないブロックであった場合、それは問題ではないかもしれませんが、それが実行可能かどうかもわかりません解決。 私が現在どのように処理しているかを見たい場合の私のコード:Map.java(pastebin)(edit:imはそれを処理していない、つまり現在どのように地図を処理しているかを意味する) tl; dr-2D風のタイルマップを取得して、異なるサイズのタイルに変更するにはどうすればよいですか?または私がやろうとしていることを行うより良い方法はありますか?グーグルで探しているメソッドの名前はありますか?
13 2d  java  tiles  maps 

2
トップダウンRPGの動きに取り組むにはどうすればよいですか?
Javaで書いているゲームがあります。それはトップダウンRPGであり、私は世界の動きを処理しようとしています。世界の大部分は手続き型であり、私は世界中のキャラクターの動きを処理し、画面に変更をレンダリングする方法に取り組むのに苦労しています。私はすべてのタイルを含むブロックにロードされた世界を持っています。 キャラクターの動きにどのように取り組むのですか? 私は困惑し、どこに行けばいいのかわかりません。 編集:まあ私は手元の問題で抽象的だった。 今のところ、すべてを厳密に2D配列に固定し、ブロック内のブロックIDとプレーヤーオフセットを保存することしか考えられません。
13 java  tiles  rpg  movement 

2
JREのJavaとAndroidのJavaの違いは何ですか?
私はこのゲーム開発のすべてに慣れていないので、始めるのに最適な方法だと言われたので、Javaを学び始めています。後でアンドロイド市場向けのゲームを作成し、皆さんから良い見解を得たいと思うので、私が何を扱っているかを正確に知っています。 Androidの開発にはさまざまなアーキテクチャがあり、他に何もありません(それはいい方法ですか?) ありがとう!
13 java  android 


3
LibGDXゲームとApplicationAdapter
新しいLibGDXプロジェクトを作成すると、CoreプロジェクトのメインクラスがApplicationAdapterを拡張します。これがどのように見えるかです。 package com.marimba.apptest; import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL20; public class AppMain extends ApplicationAdapter { @Override public void create () { } @Override public void render () { Gdx.gl.glClearColor(1, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); } } したがって、画面を切り替えるためにsetScreenメソッドを呼び出す場合は、ApplicationAdapterをGameに変更する必要があります。それでは、ApplicationAdapterの使用は何ですか?いつ使用しますか?
12 java  libgdx 

4
LibGDXで透明なPNGをレンダリングするにはどうすればよいですか?
LibGDXを使用して、簡単な三目並べの例を作成しています。シンプルな画像があります:クロス、サークル、ボード、すべてpngGIMPで作成され、背景が透明です。 それらTextureを透明度付きでレンダリングするにはどうすればよいですか? GL10の有効化機能を試しましたが、機能しないようです。

1
オブジェクトを保持するためにPoolクラスが必要なのはいつですか?
私はopengl esを研究してきましたが、私が見た例は、「Pool」クラスを使用してタッチイベントとキーボードイベントを追跡することでした。 誰かがプールクラスが必要な方法と理由を説明してください。私が読んでいたことから、それはガベージコレクションと関係があり、作成される入力クラスの数を制限していました。 これはすべて抽象的であるように思えるので、もし誰かが何が起こっているのか説明してもらえたら、ありがたいです。ここにいくつかのコードを貼り付けます。 public Pool(PoolObjectFactory < T > factory, int maxSize) { this.factory = factory; this.maxSize = maxSize; this.freeObjects = new ArrayList < T > (maxSize); } public T newObject() { T object = null ; if (freeObjects.isEmpty()) object = factory.createObject(); else object = freeObjects.remove(freeObjects.size() - 1); return object; …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.