私は現在、JavaでテーブルRPGゲームを開発中です。私はゲームロジックと接続(ソケット/ RMI)を開発しました。これでゲームはCLIで動作します。私はJavaFXとsceneBuilderでGUIを実装したいと思います。私はすべての場面をデザインし、コントローラの作成を始めました。私の質問は:私はどのように私のゲームのロジックをGUIに渡すことができますか?JavaFXでゲームロジックに合格する?
0
A
答えて
0
質問は概念的なもので、概念的な答えです。
OOアプローチです。モデル(ゲームロジック)がビュー(CLI/GUI)から十分に離れている限り、それは大きな問題ではありません。ある種のGame
/GameLogic
クラスがあると仮定すると、そのインスタンスを関連するコントローラに渡すだけです。おそらく、1つのFXMLビューにつき1つのコントローラがあります。シーンをロードするときは、setControllerFactoryを使用してコントローラーの作成方法をFXMLLoader
に通知できます。念頭に置いて、この洞察を使用すると、以下のことを試みることができます。
MainGameController(Game game) {
this.game = game; // now your controller has an instance of your game logic
}
その後、あなたは(Application
サブクラスになる可能性が高い)あなたのビューをロード場所:
FXMLLoader loader = ...
Game game = ...
loader.setControllerFactory(t -> new MainGameController(game));
あなたのゲームロジックをいくつかに分割された場合各自のビューを持つことができます。コントローラのインスタンシエーションと同じものを採用するだけです。
実用的アプローチ。舞台裏でかなりの量の配線をしたくないとします。その場合、シングルトンのパターンと同様に、ゲーム全体で単一のアクセスポイントを作成することができます。ゲームにゲームロジックの上に他のサービスがある場合、 AudioPlayer
,AssetLoader
のように、このアプローチは実際にはもっと有益かもしれません。
class GameApplication {
static Game game; // + getters/setters
static AudioPlayer audioPlayer;
...
}
あなた
MainGameController
で次に
(またはその他):
// called automatically by FXMLLoader
public void initialize() {
this.game = GameApplication.getGame();
}
関連する問題
- 1. ゲームエンジンにゲームロジックを統合する方法
- 2. Javascriptがゲームロジックに
- 3. SpriteKitゲームロジック
- 4. spawerのゲームロジック
- 5. ビンゴのゲームロジックをPythonで
- 6. ゲームロジック - サッカー - ゴールキーパーキャッチレートを維持する方法
- 7. 2人のターンベースのゲームロジック
- 8. ユニティネットワーキングコードをゲームロジックと別に保つ
- 9. JavaFXのTableViewの中に格付けを追加するには
- 10. 現在のテストケースのステータスをロボットフレームワークで合格/不合格にする方法
- 11. javaFXでのポイントの結合
- 12. JavaFx | Intellij:昇格アプリケーションの作成
- 13. ScrollPaneをjavafxの親に合わせる
- 14. JavaFX統合によるNetBeans RCP
- 15. Selenium IDEテストケース合格/不合格
- 16. JavaFXをOSGIと統合する方法
- 17. NetBeansのjavafxパレットにない場合、javafxのSwingコンポーネントを使用
- 18. 合格フォームのラベルにアクセスする
- 19. Android:「クリック済み」ステータスに合格する?
- 20. OpenGL(GLUT)とC++でゲームロジックを行う方法は?
- 21. ComboBoxに文字列値を格納していないJavaFX
- 22. JavaFX ScrollPaneが幅に適合しない
- 23. JavaFX TableViewの列が内容に合う
- 24. 合格レコードセットタイプエラー
- 25. sinon.jsでmockを使ってテストに合格するには?
- 26. ゲームロジック/ AIで使用するために3Dシーンでオブジェクトがどの程度可視かを計算する
- 27. インテント方式でフロントカメラを使用する場合の合格値
- 28. このテストに合格することはできますか?
- 29. Google Docs/ExcelをJenkinsと統合して合格/不合格のフィールドを自動的に入力する方法
- 30. Java - 実行状態を表示するためのログバック(合格/不合格)