pygame.sprite
2020-08-04 10:36:52 0 举报
AI智能生成
pygame
作者其他创作
大纲/内容
pygame.sprite
Sprite
用来管理可视化对象的简单基类
Sprite(*groups) -> Sprite
update - 基类中不实现,作为hook; Group.update()调用
add(*groups) - 添加到指定组
remove(*groups) - 从指定组里移除
alive - 检测是否属于一个或多个组内
groups - 返回包含该对象的组
使用说明
从该类衍生出的子类需要覆写update
需要给Sprite.image和Sprite.rect属性赋值
The initializer can accept any number of Group instances to be added to.
需要在添加组之前调用初始化函数
DirtySprite
DirtySprite(*groups) -> DirtySprite
附加属性包括
dirty=1
blendmode=0
blit的special_flags
source_rect=None
visible=1
layer=0
Group
用来容纳和管理多个Sprite对象的容器类
Group(*sprite) -> Group
sprites() -> sprite_list - 列出组内包含的所有Sprite
copy() -> Group - 复制组
add(*sprites) -> None - 添加Sprite到该组
remove(*sprites) -> None - 移除Sprite
update(*args) -> None
调用包含Sprite的update方法
draw(Surface) -> None
绘制组内包含Sprite图像到参数Surface上
在Sprite上绘制背景图
擦除上次Group.draw()方法中用到的Sprites
dest_surface中绘制过sprites的位置会用background填充
empty() -> None - 移除所有Sprite
RenderPlain
RenderClear
RenderUpdates
RenderUpdates(*sprites) -> RenderUpdates
draw(surface) - > Rect_list
可传给pygame.display.update()
OrderedUpdates
LayeredUpdates
draw(surface) -> Rect_list - 向传入的surface按顺序绘制所有sprites
get_sprite(idx) -> sprite - 返回组中序号为idx的sprite
get_top_layer() -> layer - 返回顶层
get_bottom_layer() -> layer - 返回底层
get_top_sprite() -> Sprite - 返回最顶层sprite
LayeredDirty
和pygame.sprite.Group一样,也可通过kwarg设置某些属性
_use_update: True/False default is False
_default_layer: default layer where sprites without a layer are added.
按顺序绘制所有sprites到传入的surface
repaint_rect(screen_rect) -> None - 重新绘制给定区域(screen_rect使用屏幕坐标)
set_clip(screen_rect=None) -> None - 剪切掉需要绘制的区域
get_clip() -> Rect - 剪切掉需要绘制的区域
GroupSingle
GroupSingle(sprite=None) -> GroupSingle
spritecollide()
返回一个组中所有sprite和另一个sprite产生交集(insersect)的列表
交集的判断是通过比较每个sprite.rect属性
collide_rect
collide_rect_ratio
collide_circle
collide_circle_ratio
collide_mask
groupcollide
spritecollideany
收藏
收藏
0 条评论
回复 删除
下一页