With the example of FengGUI and Gamestates (http://www.jmonkeyengine.com/wiki/doku.php?id=fenggui_jme_appl_using_standardgame), two questions:
There is no properties setup. I don’t know how this is handled, could anyone assist me?
Also, how do I setup a render() and update() method for the IngameGameState?? stateUpdate() is nice but how do I get a render method version of it?
what do u mean by properties setup? it is a game state not a game.
IngameGameState extends CameraGameStateDefaultCamera which extends BasicGameState. BasicGameState has its own update and render methods.
I meant, when I run that example code (the FengGUI using standardgame), I don't get a properties setup window… how do I set that up? Normally, properties is a variable inherited by BaseGame (I believe…) but I can't access that variable anywhere.
Also, because IngameGameState extends CameraGamestateDefaultCamera which extends BasicGameState, shouldn't I be able to override update() and render()? Problem is, when I do super.update() or super.render() inside of the method, it says it doesn't exist…
Forgive me if i'm forgetting some very basic java concepts here…
You can display the SettingsDialog before starting StandardGame
StandardGame game = new StandardGame("FengGUI Test");
GameSettingsPanel.prompt(game.getSettings()); <<---
game.start();
About the update and render methods:
CameraGameStateDefaultCamera goes the same way as SimpleGame, it provides its own stateUpdate() and stateRender() Methods which you can to overwrite with your own stuff.
public abstract class CameraGameStateDefaultCamera extends BasicGameState {
....
public final void update(float tpf) {
stateUpdate(tpf);
super.update(tpf);
}
}
The wiki entry could use some additional comments, feel free to add anything you stumble upon :)
I'm adapting code over from an old project - what would be the equivalent of initSystem and initGame? The constructor of the StandardGame?
The basic things are done in StandardGames Constructor.
Setting up Lights/Controls and such (everything non-standard) should be done in the GameStates constructor.
CameraGameStateDefaultCamera for example already set up a ZBuffer for its root node.