El grupo LayeredUpdates maneja capas (layers) que dibujan como grupos
OrderedUpdates
.
pygame.sprite.LayeredUpdates(*spites, * *kwargs): return LayeredUpdates
Este grupo es completamente compatible con la clase pygame.sprite.Sprite
.
Usted puede definir la capa por defecto a través del argumento kwargs
usando el parámetro de nombre default_layer
y un número entero
para indicar la capa. La capa por defecto es 0.
Si el sprite que se agrega al grupo tiene un atributo de nombre layer
,
entonces se utilizará ese atributo para determinar en que capa se
va a agregar el sprite. Si el argumento kwarg
contiene el parámetro
layer
entonces los sprites se agregarán a esa capa (ignorando el
atributo sprite.layer
). Se utilizará la capa por defecto para insertar
los sprites si no se utiliza ninguna de las formas descritas mas arriba.
Esta funcionalidad es nueva en pygame 1.8.0
Agrega un sprite o una secuencia de sprites a un grupo.
LayeredUpdates.add(*sprites, * *kwargs): return None
Si el sprite que se agrega al grupo tiene un atributo de nombre layer
,
entonces se utilizará ese atributo para determinar en que capa se
va a agregar el sprite. Si el argumento kwarg
contiene el parámetro
layer
entonces los sprites se agregarán a esa capa (ignorando el
atributo sprite.layer
). Se utilizará la capa por defecto para insertar
los sprites si no se utiliza ninguna de las formas descritas mas arriba.
Retorna una lista de sprites ordenados (primero los de atrás, luego los del frente).
LayeredUpdates.sprites(): return sprites
Dibuja todos los sprites ordenados sobre la superficie indicada.
LayeredUpdates.draw(surface): return Rect_list
Retorna una lista de los todos los sprites en esa posición.
LayeredUpdates.get_sprites_at(pos): return colliding_sprites
Los sprites mas abajo se retornan primero, y por último los que están mas arriba.
Retorna el sprite que está en el índice indicado por idx
.
LayeredUpdates.get_sprite(idx): return sprite
Emite la excepción IndexOutOfBounds
si el argumento
idx
no está comprendido en el rango.
Elimina todos los sprites de la capa o layer y los retorna como una lista.
LayeredUpdates.remove_sprites_of_layer(layer_nr): return sprites
Retorna una lista de las capas definidas, ordenadas desde mas lejanas a mas cercanas.
LayeredUpdates.layers(): return layers
Cambia la capa de un sprite.
LayeredUpdates.change_layer(sprite, new_layer): return None
El sprite se debería haber agregado para dibujar. Esta tarea no se verifica.
Retorna la capa o layer en la que se encuentra el sprite actualmente.
LayeredUpdates.get_layer_of_sprite(sprite): return layer
Se retornará la capa por defecto si el sprite no se encuenta en el grupo.
Retorna la capa superior.
LayeredUpdates.get_top_layer(): return layer
Retorna la capa inferior.
LayeredUpdates.get_bottom_layer(): return layer
Trae un sprite a la capa superior.
LayeredUpdates.move_to_front(sprite): return None
Trae el sprite al frente cambiando la capa del sprite a la capa mas alta (agrega el sprite al final de esa capa).
Mueve el sprite a la capa inferior.
LayeredUpdates.move_to_back(sprite): return None
Mueve el sprite a la capa inferior, produciendo que el sprite aparezca detrás de los demás y se genere una capa adicional.
Retorna el sprite que se encuentra mas arriba.
LayeredUpdates.get_top_sprite(): return Sprite
Retorna todos los sprites de una capa, ordenados según se han insertado.
LayeredUpdates.get_sprites_from_layer(layer): return sprites
Retorna todos los sprites de una capa, ordenados según se han insertado. Este método usa una búsqueda lineal y los sprites no se eliminarán de la capa.
Intercambia los sprites de la capa layer1
a la capa layer2
.
LayeredUpdates.switch_layer(layer1_nr, layer2_nr): return None
Los números de capa deben existir, aunque esto no se verifica en el método.