|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.jme.app.AbstractGame
com.jme.app.BaseGame
public abstract class BaseGame
The simplest possible implementation of a game loop.
This class defines a pure high speed game loop that runs as fast as CPU/GPU will allow. No handling of variable frame rates is included and, as a result, this class is unsuitable for most production applications; it is useful as a base for applications which require more specialised behaviour as it includes basic game configuration code.
| Nested Class Summary | |
|---|---|
(package private) static class |
BaseGame.BaseGameSettings
A PropertiesGameSettings which defaults Fullscreen to TRUE. |
| Nested classes/interfaces inherited from class com.jme.app.AbstractGame |
|---|
AbstractGame.ConfigShowMode |
| Field Summary | |
|---|---|
protected ThrowableHandler |
throwableHandler
|
| Fields inherited from class com.jme.app.AbstractGame |
|---|
display, finished, settings |
| Constructor Summary | |
|---|---|
BaseGame()
|
|
| Method Summary | |
|---|---|
protected abstract void |
cleanup()
Called once the game loop has finished. |
protected GameSettings |
getNewSettings()
Subclasses must implement getNewSettings to instantiate and populate a GameSettings object. |
protected ThrowableHandler |
getThrowableHandler()
Get the exception handler if one hs been set. |
protected abstract void |
initGame()
Create and initialise all game data. |
protected abstract void |
initSystem()
Initialise the display system. |
protected void |
quit()
Closes the display |
protected abstract void |
reinit()
Rebuild the system. |
protected abstract void |
render(float interpolation)
Display the updated game information. |
protected void |
setThrowableHandler(ThrowableHandler throwableHandler)
|
void |
start()
The simplest main game loop possible: render and update as fast as possible. |
protected abstract void |
update(float interpolation)
Update the game state. |
| Methods inherited from class com.jme.app.AbstractGame |
|---|
assertDisplayCreated, finish, getAttributes, getVersion, setConfigShowMode, setConfigShowMode |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected ThrowableHandler throwableHandler
| Constructor Detail |
|---|
public BaseGame()
| Method Detail |
|---|
public final void start()
start in class AbstractGameprotected void quit()
quit in class AbstractGameAbstractGame.quit()protected ThrowableHandler getThrowableHandler()
null if not set.protected void setThrowableHandler(ThrowableHandler throwableHandler)
throwableHandler - protected abstract void update(float interpolation)
AbstractGameAny user input checks, changes to game physics, AI, networking, score table updates, and so on, should happen in this method. The rate at which this method is called will depend on the specific game implementation in use.
Note that this method should not update the screen.
update in class AbstractGameinterpolation - unused in this implementationAbstractGame.update(float interpolation)protected abstract void render(float interpolation)
AbstractGameThis method normally involves clearing the display and rendering the scene graph, although subclasses are free to do any screen related work here. The rate at which this method is called will depend on the specific game implementation in use.
Note that this method is run on the OpenGL thread, it should not alter the game state in any way.
render in class AbstractGameinterpolation - unused in this implementationAbstractGame.render(float interpolation)protected abstract void initSystem()
AbstractGame
This includes not just the DisplaySystem but also any other
input and display related elements such as windows, cameras, and the
input system.
Note that the display must be initialised in this method.
initSystem in class AbstractGameAbstractGame.initSystem()protected abstract void initGame()
AbstractGameWhat happens here is purely application dependent; it is where, for example, the initial scene graph and the starting environment could be loaded. It is suggested that any frequently used resources are loaded and cached in this method.
This method is called once after AbstractGame.initSystem() has completed.
initGame in class AbstractGameAbstractGame.initGame()protected abstract void reinit()
AbstractGameThis method is called when the system requires rebuilding, for example is the screen resolution is altered. This method may be called at any time by client code.
reinit in class AbstractGameAbstractGame.reinit()protected abstract void cleanup()
AbstractGame
Subclasses should use this method to release any resources, for example
data that was loaded in the initXXX() methods.
cleanup in class AbstractGameAbstractGame.cleanup()protected GameSettings getNewSettings()
AbstractGame
getNewSettings in class AbstractGameAbstractGame.getNewSettings()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||