Class GSprite¶
The class provides support simple sprite sheet animation. The sprite sheet is given by a
JPEG, PNG, or GIF file whose name is stored in the attribute source
. Sprite sheets
should be stored in the Images directory so that Kivy can find them without the
complete path name.
A sprite sheet, or filmstrip, is a single image file that contains animation frames
of equal size. The animations frames are arranged in a rectangular grid. When you
make a GSprite
object, it reads in the frames left-to-right, top-to-bottom.
At any time, you can change the frame
attribute to control which frame is shown
on screen.
Beyond the support for animation frames, this class is identical to GImage.
Constructor¶
-
class
game2d.gsprite.
GSprite
(**keywords)¶ Creates a new sprite
To use the constructor for this class, you should provide it with a list of keyword arguments that initialize various attributes. For example, to load the filmstrip
alien-strip1.png
, which has 3 rows and 2 columns, use the constructor:GSprite(x=0,y=0,width=10,height=10,source='alien-strip1.png',format=(3,2))
This class supports the all same keywords as
GImage
; the only new keyword isframes
. This keyword specifies the grid size of the animation frames in the image. See the documentation ofGImage
andGObject
for the other supported keywords.- Parameters
keywords (keys are attribute names) – dictionary of keyword arguments
Attributes¶
This class has all of the attributes of GImage. In addition, it has the following new attributes.
-
GSprite.
frame
¶ The current animation frame of this filmstrip
invariant. Value is an int 0..count-1.
-
GSprite.
format
¶ The grid size of this sprite.
The format is specified as (rows, columns). It will divide the image up into equal portions to match this. All images will have the same width, and the same height, but the width can be different from the height.
Invariant: Value is a 2-element tuple of ints > 0
-
GSprite.
count
¶ The number of frames in this filmstrip
invariant. Value is an int > 0.
-
GSprite.
hitboxes
¶ The hitbox list for this object.
Because a sprite is associated with multiple images, it also has multiple hitboxes, one for each animation frame. This attribute provides the list (or more appropriately the tuple) of hitboxes to chose from. If it is None, then the default hitbox (the size of the image) will always be used.
Invariant: Value is either
None
or a tuple ofcount
4-element tuples of numbers. Moreover, if it is notNone
, the attributehitbox
is always theframe
element of this tuple.