This page is optimized for mobile devices, if you would prefer the desktop version just click here

0.11 Slick0210: collision detection and sound  (Page 3/8)

Beginning of the class named Slick0210.

The beginning of the class named Slick0210 , down through the main method is shown in Listing 1 .

Listing 1 . Beginning of the class named Slick0210.
public class Slick0210 extends BasicGame{//Set the value of this variable to true to cause the // sprites to die on collision and to be removed from// the population. boolean dieOnCollision = true;//Store references to Sprite01 objects here.ArrayList<Sprite01>sprites = new ArrayList<Sprite01>();//Change this value and recompile to change the number // of sprites.int numberSprites = 1000; //Populate these variables with references to Image// objects later. Image redBallImage;Image greenBallImage; Image blueBallImage;//Populate this variable with a reference to a Sound// object later. Sound blaster;//Populate these variables with information about the// background image later. Image background = null;float backgroundWidth; float backgroundHeight;//This object is used to produce values for a variety// of purposes. Random random = new Random();//Frame rate we would like to see and maximum frame// rate we will allow. int targetFPS = 60;//----------------------------------------------------// public Slick0210(){//constructor//Set the title super("Slick0210, baldwin");}//end constructor //----------------------------------------------------//public static void main(String[] args)throws SlickException{ AppGameContainer app = new AppGameContainer(new Slick0210(),414,307,false); app.start();}//end main

ArrayList

There are two things that are new in Listing 1 . First there is the instantiation of an ArrayList object in place of the array object used in the program in the earlier module.

The use of an ArrayList instead of an array provides more flexibility in managing a collection of Sprite01 objects. If you are unfamiliar with the use of ArrayList objects, just Google the keywords baldwin java ArrayList generics and I'm confident you will find explanatory material that I have published on that topic.

Sound

The second new item in Listing 1 is the declaration of a reference variable of the Slick2D Sound class. That variable will be used to hold a reference to a Sound object, that will be played each time the red sprite collides with a green sprite.

Otherwise, the code in Listing 1 is straightforward and shouldn't require further explanation.

The init method

The init method begins in Listing 2 .

Listing 2 . Beginning of the init method.
public void init(GameContainer gc) throws SlickException {//Create Image objects that will be used to visually // represent the sprites.redBallImage = new Image("redball.png"); greenBallImage = new Image("greenball.png");blueBallImage = new Image("blueball.png");//Create a Sound object. blaster = new Sound("blaster.wav"); //Create a background image and save information// about it. background = new Image("background.jpg");backgroundWidth = background.getWidth(); backgroundHeight = background.getHeight();
<< Chapter < Page Page > Chapter >>

Read also:

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.
Jobilize.com uses cookies to ensure that you get the best experience. By continuing to use Jobilize.com web-site, you agree to the Terms of Use and Privacy Policy.