<< Chapter < Page Chapter >> Page >
  • setup
  • getDelta
  • gameLoop

The constructors for the AppGameContainer class

Listing 1 instantiates a new object of the AppGameContainer class by calling a constructor that takes a single parameter of the Slick2D interfacetype Game .

The source code for that constructor is shown in Listing 3 .

Listing 3 . Constructor for the AppGameContainer class that takes a single parameter.
public AppGameContainer(Game game) throws SlickException { this(game,640,480,false);}//end constructor

A constructor with four parameters

The code in Listing 3 simply calls another overloaded version of the constructor passing four default parameters that specify a game window of 640x480 pixels.

The constructor that takes four parameters is shown in Listing 4 .

Listing 4 . Constructor for the AppGameContainer class that takes four parameters.
public AppGameContainer(Game game, int width,int height, boolean fullscreen)throws SlickException { super(game);originalDisplayMode = Display.getDisplayMode();setDisplayMode(width,height,fullscreen);}//end constructor

The first parameter is a reference to the game that is to be wrapped by the GameContainer object. The code in Listing 4 passes that reference to its superclass, GameContainer , where it is saved in a protected variable of type Game named game . As a protected variable, it is accessible to all of the methods of the AppGameContainer class for use later.

Then Listing 4 saves the current display mode in a variable named originalDisplayMode , presumably to be used later.

Finally, Listing 4 calls the method named setDisplayMode to set the display mode to match the incoming parameters.

(This is the constructor that you would use if you wanted to cause the size of the game window to be something other than the default of 640 by 480pixels.)

The setup method of the AppGameContainer class

The setup method is fairly long and complicated. Most of the code in the method has to do with the creation and formatting of the gamewindow. I will skip over that code and leave it as an exercise for interested students to analyze.

Initialization of the game

Finally a statement near the end of the setup method calls a method named init on a reference to the Game object, passing a reference to the object of type AppGameContainer as a parameter.

This is what we would refer to as a callback that uses the reference to the Game object that was passed to the constructor to call the method named init on the Game object.

The effect is to call the method named init belonging to the game program shown in Listing 6 . This causes the initialization code (if any) that you have written into the overridden init method to be executed. If the overridden version of the method has an empty body (as in Listing 6 ) , it simply returns without doing anything. This is how your game gets initialized.

The getDelta method of the GameContainer class

The AppGameContainer class inherits a protected method named getDelta from its superclass named GameContainer .

The getDelta method is called from the start method shown in Listing 2 .

Questions & Answers

what is variations in raman spectra for nanomaterials
Jyoti Reply
I only see partial conversation and what's the question here!
Crow Reply
what about nanotechnology for water purification
RAW Reply
please someone correct me if I'm wrong but I think one can use nanoparticles, specially silver nanoparticles for water treatment.
yes that's correct
I think
what is the stm
Brian Reply
is there industrial application of fullrenes. What is the method to prepare fullrene on large scale.?
industrial application...? mmm I think on the medical side as drug carrier, but you should go deeper on your research, I may be wrong
How we are making nano material?
what is a peer
What is meant by 'nano scale'?
What is STMs full form?
scanning tunneling microscope
how nano science is used for hydrophobicity
Do u think that Graphene and Fullrene fiber can be used to make Air Plane body structure the lightest and strongest. Rafiq
what is differents between GO and RGO?
what is simplest way to understand the applications of nano robots used to detect the cancer affected cell of human body.? How this robot is carried to required site of body cell.? what will be the carrier material and how can be detected that correct delivery of drug is done Rafiq
what is Nano technology ?
Bob Reply
write examples of Nano molecule?
The nanotechnology is as new science, to scale nanometric
nanotechnology is the study, desing, synthesis, manipulation and application of materials and functional systems through control of matter at nanoscale
Is there any normative that regulates the use of silver nanoparticles?
Damian Reply
what king of growth are you checking .?
What fields keep nano created devices from performing or assimulating ? Magnetic fields ? Are do they assimilate ?
Stoney Reply
why we need to study biomolecules, molecular biology in nanotechnology?
Adin Reply
yes I'm doing my masters in nanotechnology, we are being studying all these domains as well..
what school?
biomolecules are e building blocks of every organics and inorganic materials.
anyone know any internet site where one can find nanotechnology papers?
Damian Reply
sciencedirect big data base
Introduction about quantum dots in nanotechnology
Praveena Reply
what does nano mean?
Anassong Reply
nano basically means 10^(-9). nanometer is a unit to measure length.
do you think it's worthwhile in the long term to study the effects and possibilities of nanotechnology on viral treatment?
Damian Reply
absolutely yes
how did you get the value of 2000N.What calculations are needed to arrive at it
Smarajit Reply
Privacy Information Security Software Version 1.1a
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!

Source:  OpenStax, Anatomy of a game engine. OpenStax CNX. Feb 07, 2013 Download for free at https://legacy.cnx.org/content/col11489/1.13
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Anatomy of a game engine' conversation and receive update notifications?