<< Chapter < Page Chapter >> Page >

After setting the drawing mode to honor transparency and setting the background color to red, the code in Listing 11 causes the three images of the spider along the top of Figure 2 to be displayed each time the render method is called. (Recall that the names of the drawing mode constants appear to be reversed between opaque and transparent.)

The call to the draw method in Listing 11 displays the spider image in the upper-left corner of Figure 2 .

The first call to the drawFlash method calls one of three overloaded versions of the drawFlash method. This version of the method draws a white silhouette of the spider at a location specified by theparameters, 133,0.

The second call to the drawFlash method draws a silhouette of the spider at a location of 266,0, with a width of 131 pixels, a height of128 pixels and a blue color.

Note that none of the code in Listing 11 depends on the logic that is executed in the update method. Therefore, the three images appear to be static despite the fact thatthey are being redrawn about 60 times per second.

The large flashing spider

The call to the drawFlash method in Listing 12 produces the large flashing spider at the bottom of Figure 2 and Figure 3 .

Listing 12 . The large flashing spider.
//Cause an enlarged version of the spider to flash // between white and blue silhouette at a rate// of 1/flashInterval. spider.drawFlash(0f,0f,262f,256f,silohetteColor);}//end render }//end class Slick0160b

This is the same version of the drawFlash method that was called to produce the blue spider in the upper-right corner of Figure 2 . However, in this case, the third and fourth parameters specify that the spider should be drawn with a width of 262pixels and a height of 256 pixels.

More importantly, rather than passing a constant color as the last parameter, Listing 12 passes the reference to the Color object stored in the variable named silohetteColor . Recall that the color represented by that object is periodically switched between white andblue in the update method of Listing 10 . This causes the color of the spider to switch between white and blue.

The end of the program

Listing 12 signals the end of the render method and the end of the class named Slick0160b .

Run the programs

I encourage you to copy the code from Listing 13 and Listing 14 . Compile the code and execute it,making changes, and observing the results of your changes. Make certain that you can explain why your changes behave as they do.


In this module, you learned about using the draw , drawCentered , and drawFlash methods of the Image class.

What's next?

In the next module, you will learn how to use the following methods of the Input class to get user input:

  • isKeyDown
  • isMouseButtonDown
  • getMouseX
  • getMouseY


This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Slick0160: Using the draw and drawFlash methods
  • File: Slick0160.htm
  • Published: 02/05/13
  • Revised: 09/03/15

Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. Ineither receive compensation for those sales nor do I know who doesreceive compensation. If you purchase such a book, please be aware that it is a copy of a module that is freelyavailable on cnx.org and that it was made and published without my prior knowledge.

Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

Get the best College algebra 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?