一个关于派生精灵子类的问题说明
初始化方法中的self.image和self.rect名字是固定的,不可以用其它名字,可能是因为这两个变量名是精灵中默认包含的,speed是我们自定义的,所以它可以使用任何其它名字。
所以,一个精灵类,包含两个属性和两个方法,一个属性是要显示的图像数据【self.image】,另一个属性是图像位置【self.rect】,一个方法是更新图像位置【update()】,另一个方法是从所有组中删除【kill()】
import pygame class GameSprite(pygame.sprite.Sprite): def __init__(self,image_name,speed = 1): super().__init__() self.image = pygame.image.load(image_name) self.rect = self.image.get_rect() self.speed = speed def update(self): self.rect.y += self.speed
精灵组:
def __init__(self,*sprites):
update() 让组中所有精灵调用其update()方法
精灵组.draw(surface)将组中所有精灵的图像按rect位置绘制到surface上
sprites 返回所有精灵列表
add(sprites) 向组中添加精灵

浙公网安备 33010602011771号