私は現在、ボタンを押すことでメインゲームに切り替えることのできるシンプルなメニューを練習し、コーディングしています。メニューから3D FPS設定に切り替えるにはどうすればよいですか? (libGDX)
メインゲームは、libGDXが3D環境を作成するために使用するすべての機能を使用して3Dで行われます。メニューはステージを使用して作成されます。私はMenuとRender/FirstPersonのクラスを別々に作成して、彼ら自身で作業していることを確認しました。
package com.mygdx.game;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.mygdx.game.FPSSystem;
import com.mygdx.game.RenderingSystem;
public class MainCoreLoop extends ApplicationAdapter {
public MenuSystem menuSystem;
public RenderingSystem renderingSystem;
public FPSSystem fpsSystem;
public boolean isGameOn;
@Override
public void create() {
renderingSystem = new RenderingSystem();
fpsSystem = new FPSSystem();
menuSystem = new MenuSystem();
renderingSystem.create();
fpsSystem.create();
menuSystem.create();
}
@Override
public void render() {
isGameOn = true;
if (MenuSystem.isMenuClosed == true) {
isGameOn = true;
}
else if(isGameOn == false) {
Gdx.gl.glClearColor(0, 255, 0, 0);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
menuSystem.render();
}
if(isGameOn == true) {
Gdx.gl.glClearColor(255, 0, 0, 0);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT|GL20.GL_DEPTH_BUFFER_BIT);
fpsSystem.render();
renderingSystem.render();
}
}
@Override
public void dispose() {
menuSystem.dispose();
fpsSystem.dispose();
renderingSystem.dispose();
}
}
私はロジックとコードがlibGDXが付属していますFirstPersonCameraControllerクラスから借用した入力を、コントロールのレンダリングを処理RenderingSystemクラス、別のクラスを初期化しFirstPersonSystemクラス、FPSCameraControllerクラスを、持っています。
私はこれらのクラスを一緒にテストすることができました。十分に機能するisGameOnというブール値を使用しました。テストとリファクタリングをしばらくしてから、入力を除いてすべてを動作させることができました。 「新しいゲーム」を押しても3Dボックスが完全にレンダリングされますが、入力が機能しません。ブール値をtrueに変更すると、ボックスはレンダリングされますが、まだ入力はありません。
コードは独立しているようですが、それらをまとめようとすると少し厄介です。
これはコードオーダーの問題かもしれないと思っていますが、私はかなり困惑しています。私はlibGDXを初めて使っています。私は本当にJavaで真剣に少しでも真剣に取り組んできました。コードの私の基本は、私がこれを理解するのを止めているかもしれません。
コードの残りの部分はgithubのHere
上で侮辱\任意のヘルプ\洞察力をいただければ幸いです。ありがとう!
それは働いた。どうもありがとう!私の友人はとても感謝しています。これは私が中止したところです。 https://github.com/winnieTheWind/Simple3DGameTestAndMenu – winnieTheWind