我已经找到了一个解决这个问题的办法,把精灵从屏幕上移开,但是我想知道是否有更合乎道德的方法来解决这个问题,比如把它从屏幕上移开sprite.group组. 我尝试过这样做,但是因为硬币是在if语句中声明的,它只是将自己添加回屏幕。你知道吗
这段代码是我控制硬币的程序部分的一个快速摘要。“player”由用户控制。 在我更新的代码中,我把硬币从屏幕上移开coin.rect.碰撞if语句。你知道吗
Class Coin (pygame.sprite.Sprite):
def __init__(self, x, y):
super().__init__()
self.image = image
self.rect = get rect
self.rect.x = y
self.rect.y = y
class room1(Room):
def __init__(self):
Room.__init__(self)
class player (pygame.sprite.Sprite):
def __init__(self,x,y):
super().__init__()
self.image = pygame.image.load ('playerimg.png')
self.rect = self.image.get_rect()
self.rect.x = x
self.rect.y = y
def mainLoop():
global coin
coin= Coin(10,10)
spritegroup = pygame.sprite.group
gameLoop = 1
while gameLoop ==1:
#keyboard controls
#room changing code
if room1 == 2:
if coin.rect.coliderect(player.rect):
spritegroup.remove(coin)
spritegroup.add(coin)
spritegroup.draw(screen)
spritegroup.update()
正如您所写的,只要
room1 == 2
,每次迭代都会向sprite组添加一个硬币。如果你把房间里所有的东西都放一次呢?你知道吗相关问题 更多 >
编程相关推荐