Package pygsear :: Module Drawable :: Class Multi
[show private | hide private]
[frames | no frames]

Class Multi

       object --+        
                |        
           Sprite --+    
                    |    
             Drawable --+
                        |
   object --+           |
            |           |
AbstractGroup --+       |
                |       |
            Group --+   |
                    |   |
        RenderUpdates --+
                        |
                       Multi


Made up of a group of sprites.

Create other Drawable instances, then addSprite() them in.

xOffset - x distance from left side of group base position. yOffset - y distance from top side of group base position.
Method Summary
  __init__(self, w)
Initialize Drawable sprite.
  add(self, group)
Add this sprite to a group.
  add_internal(self, group)
add this sprite to a group
  addSprite(self, sprite, xOffset, yOffset)
Add a sprite to this group.
  clear(self)
Erase all sprites in group to background
bool collide(self, other)
return True if this sprite and other sprite overlap.
Drawable or False collidelist(self, lothers)
return True if this sprite and any in list of others collide.
List collidelistall(self, lothers)
return True if this sprite and any in list of others collide.
  draw(self)
Draw all of the sprites in the group.
  empty(self)
empty() remove all sprites
  fix_neg_offsets(self, xo, yo)
try to correct for use of negative offset values when using addSprite.
  innerSprites(self)
return all of the sprites in the group, except self.
  kill(self)
kill() remove this sprite from all groups
  move(self)
Move sprite to next location along path.
  remove_internal(self, group)
  removeSprite(self, sprite)
Remove a sprite from this group.
  runPath(self, frames)
Move along the path.
  set_path(self, path)
Set path for sprite to follow.
  set_position(self, location, *args)
Move sprite to location, and all contained sprites to their relative offsets from location.
  sprites(self)
return all of the sprites in the group (including self, since the group is itself a sprite).
  uclear(self)
Erase all of the sprites in the group and update the screen.
  udraw(self)
Draw all of the sprites in the group and update the screen.
    Inherited from Drawable
bool can_see(self, target, blocking_rects_list)
Performs a los (line of sight) check from the center of the source to the center of the target.
  center(self, x, y, dx, dy)
Align the Drawable in its layer
  direction(self, point)
return the direction from the sprite to a point
  distance(self, point)
return the distance from the sprite to a point
  get_position(self)
return a copy of the sprite's position
  get_size(self)
return size of sprite's rect.
  nudge(self, dx, dy)
Move sprite.
  onscreen(self, slack, **kw)
return True if image is on the screen or layer.
  pause(self)
stop moving along Path
  set_crect(self, crect)
set the collision pygame.Rect used for collision checking.
  set_positionRandom(self, slack)
Move sprite to a random location on screen
  set_size(self, size)
Set size of sprite's rect.
  solid(self, other, move_both)
move sprite so that it does not overlap with other sprite
  stretch(self, dx, dy, size, keepAspectRatio)
Change the size of sprite's image, and rect.
  unpause(self)
start moving along Path
    Inherited from Sprite
  __repr__(self)
  alive(self)
alive() -> bool check to see if the sprite is in any groups
  groups(self)
groups() -> list of groups list used sprite containers
  remove(self, *groups)
remove(group or list of groups, ...) remove a sprite from container
  update(self, *args)
    Inherited from AbstractGroup
  __contains__(self, sprite)
  __iter__(self)
  __len__(self)
len(group) number of sprites in group
  __nonzero__(self)
  copy(self)
copy() copy a group with all the same sprites
  has(self, *sprites)
has(sprite or group, ...) ask if group has a sprite or sprites
  has_internal(self, sprite)
    Inherited from object
  __delattr__(...)
x.__delattr__('name') <==> del x.name
  __getattribute__(...)
x.__getattribute__('name') <==> x.name
  __hash__(x)
x.__hash__() <==> hash(x)
  __reduce__(...)
helper for pickle
  __reduce_ex__(...)
helper for pickle
  __setattr__(...)
x.__setattr__('name', value) <==> x.name = value
  __str__(x)
x.__str__() <==> str(x)
    Inherited from type
  __new__(T, S, ...)
T.__new__(S, ...) -> a new object with type S, a subtype of T

Method Details

__init__(self, w=None)
(Constructor)

Initialize Drawable sprite.
Parameters:
w - Layer on which sprite lives.
Overrides:
pygsear.Drawable.Drawable.__init__ (inherited documentation)

add(self, group)

Add this sprite to a group. NOT add a sprite to this group!
Parameters:
group - Sprite Group to add this sprite to.
Overrides:
pygame.sprite.Sprite.add

add_internal(self, group)

add this sprite to a group
Overrides:
pygame.sprite.Sprite.add_internal

addSprite(self, sprite, xOffset=0, yOffset=0)

Add a sprite to this group.

Note: does not work with negative offsets.
Parameters:
sprite - sprite to add to this group.
xOffset - x-distance from center sprite is displaced.
yOffset - y-distance from center sprite is displaced.

clear(self)

Erase all sprites in group to background

This does not return the affected pygame.Rect.
Overrides:
pygsear.Drawable.Drawable.clear

collide(self, other)

return True if this sprite and other sprite overlap.

Uses the .crect attribute of each sprite to check for a collision (overlap).
Parameters:
other - The other sprite to check for collision.
Returns:
True if the sprites overlap.
           (type=bool)
Overrides:
pygsear.Drawable.Drawable.collide

collidelist(self, lothers)

return True if this sprite and any in list of others collide.

The True value is the other sprite. Note that more than one sprite in the list may be colliding with the sprite, but only one is returned.
Parameters:
lothers - List of other sprites to check for collision.
Returns:
Other sprite if there is a collision, or False.
           (type=Drawable or False)
Overrides:
pygsear.Drawable.Drawable.collidelist

collidelistall(self, lothers)

return True if this sprite and any in list of others collide.

The True value is the list of colliding sprites, or if there is no collision, an empty sequence.
Parameters:
lothers - List of other sprites to check for collision.
Returns:
List of colliding sprites, or empty list.
           (type=List)
Overrides:
pygsear.Drawable.Drawable.collidelistall

draw(self)

Draw all of the sprites in the group.
Returns:
pygame.Rect which can be passed to pygame.display.update
Overrides:
pygsear.Drawable.Drawable.draw

empty(self)

empty() remove all sprites

Removes all the sprites from the group.
Overrides:
pygame.sprite.AbstractGroup.empty (inherited documentation)

fix_neg_offsets(self, xo, yo)

try to correct for use of negative offset values when using addSprite.

This is not working yet, and is not in use.

innerSprites(self)

return all of the sprites in the group, except self.

kill(self)

kill() remove this sprite from all groups

Removes the sprite from all the groups that contain it. The sprite still exists after calling this, so you could use it to remove a sprite from all groups, and then add it to some other groups.
Overrides:
pygame.sprite.Sprite.kill (inherited documentation)

move(self)

Move sprite to next location along path.
Overrides:
pygsear.Drawable.Drawable.move

removeSprite(self, sprite)

Remove a sprite from this group.
Parameters:
sprite - Sprite to remove.

runPath(self, frames=0)

Move along the path. This is used only in an interactive session.
Parameters:
frames - Number of moves to make before raising Path.EndOfPath.
Overrides:
pygsear.Drawable.Drawable.runPath

set_path(self, path)

Set path for sprite to follow.
Parameters:
path - Path.Path
Overrides:
pygsear.Drawable.Drawable.set_path

set_position(self, location, *args)

Move sprite to location, and all contained sprites to their relative offsets from location.
Parameters:
location - Either a 2-tuple (x, y) or 2 numbers.
Overrides:
pygsear.Drawable.Drawable.set_position

sprites(self)

return all of the sprites in the group (including self, since the group is itself a sprite).
Overrides:
pygame.sprite.AbstractGroup.sprites

uclear(self)

Erase all of the sprites in the group and update the screen.
Overrides:
pygsear.Drawable.Drawable.uclear

udraw(self)

Draw all of the sprites in the group and update the screen.
Overrides:
pygsear.Drawable.Drawable.udraw

Generated by Epydoc 2.0 on Sat Dec 9 14:11:19 2006 http://epydoc.sf.net