Pygame精灵 - 创建新精灵后不活动
问题描述:
我的精灵有问题。Pygame精灵 - 创建新精灵后不活动
我创建了一个精灵类:
class lumbercheck(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load("holzfaeller.png")
self.rect = self.image.get_rect()
def PlaceOnMap(self, pos):
self.rect.center = pos
新增的精灵群体:
lumbercheck_g = pygame.sprite.RenderPlain(lumbercheck)
allbuildings = pygame.sprite.RenderPlain((lumbercheck, ...))
现在我开始游戏循环,并要求精灵的碰撞:
if any(sprite.rect.collidepoint(pos) for sprite in allbuildings.sprites())
然后我将雪碧放置在地图上,我点击了它:
elif event.type == pygame.MOUSEBUTTONDOWN and holzfaeller is True and tilemap_1[pos_y][pos_x] == 3:
lumbercheck.PlaceOnMap(pos)
lumbercheck_g.draw(gameDisplay)
但我有问题,第一个精灵放置在地图上的onyl被精灵碰撞检测到。当我放置第二个时,只有第二个与碰撞检测一起工作。第一个仍然在地图上,但看起来像,它不再是一个精灵。
谢谢:)
答
我猜你的地方覆盖您lumbercheck
类与类的实例,因为如果lumbercheck
仍然是一个阶级和PlaceOnMap
是instace方法lumbercheck.PlaceOnMap(pos)
不应该工作。