2015-10-13 113 views
1

我的精靈有問題。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被精靈碰撞檢測到。當我放置第二個時,只有第二個與碰撞檢測一起工作。第一個仍然在地圖上,但看起來像,它不再是一個精靈。

謝謝:)

回答

1

我猜你的地方覆蓋您lumbercheck類與類的實例,因爲如果lumbercheck仍然是一個階級和PlaceOnMap是instace方法lumbercheck.PlaceOnMap(pos)不應該工作。