HTML and CSS Reference
In-Depth Information
Arrays of Logical Display Objects
We have used arrays to hold all our logical display objects, and we have an array for each
type of object ( rocks , saucers , playerMissiles , saucerMissiles , and particles ). Each
logical display object is a simple object instance. We have created a separate function to draw
and update each of our objects.
NOTE
The use of an object class prototype similar to FrameRateCounter can be implemented easily for
the various display object types. To conserve space, we have not implemented them in this game.
However, these objects would allow us to separate the update and draw code from the current com-
mon functions and then place that code into the individual object prototypes. We have included a
Rock prototype at the end of this chapter as an example. (See Example 8-13 . )
You will notice that saucers and rocks are drawn with points in the same manner as the player
ship.
Rocks
The rocks will be simple squares that rotate clockwise or counterclockwise. The rock in-
stances will be in the rocks array. When a new level starts, these will all be created in the
upper-right corner of the game screen.
Here are the variable attributes of a rock object:
newRock . scale = 1 ;
newRock . width = 50 ;
newRock . height = 50 ;
newRock . halfWidth = 25 ;
newRock . halfHeight = 25 ;
newRock . x
newRock . y
newRock . dx
newRock . dy
newRock . scoreValue = bigRockScore ;
newRock . rotation = 0 ;
Therockscalewillbesettooneofthethreerock-scaleconstantsdiscussedearlier. halfWidth
and halfHeight will be set based on the scale, and they will be used in calculations in the
samemannerastheplayerobjectversions.The dx and dy valuesrepresentthevaluestoapply
to the x and y axes when updating the rock on each frame tick.
Search WWH ::




Custom Search