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 is frames. This keyword specifies the grid size of the animation frames in the image. See the documentation of GImage and GObject 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 of count 4-element tuples of numbers. Moreover, if it is not None, the attribute hitbox is always the frame element of this tuple.

Methods

This class does not have any methods beyond those defined in GObject.

Return to top level