Python 当玩家与rect对象发生碰撞时,我如何从屏幕上删除它?

Python 当玩家与rect对象发生碰撞时,我如何从屏幕上删除它?,python,pygame,Python,Pygame,在draw()函数中,当玩家pos=敌人pos时,我试图删除rect对象,但“del”不起作用。有没有办法完全删除敌人的目标?是否有一个内置的pygame函数来删除我不知道的对象 # draw player def draw(): enemy = pygame.draw.rect(screen, enemy_color, (enemy_x, enemy_y, 25, 25)) player = pygame.draw.rect(screen, player_color, (pla

draw()
函数中,当玩家pos=敌人pos时,我试图删除rect对象,但“del”不起作用。有没有办法完全删除敌人的目标?是否有一个内置的pygame函数来删除我不知道的对象

# draw player
def draw():
    enemy = pygame.draw.rect(screen, enemy_color, (enemy_x, enemy_y, 25, 25))
    player = pygame.draw.rect(screen, player_color, (player_x, player_y, 25, 25))
    
    # if the player is over the enemy then delete the enemy
    if player_x == enemy_x and player_y == enemy_y:
        # this does not work
        del enemy
不能“删除”在曲面上绘制的内容。曲面仅包含按行和列组织的一束像素。如果要“删除”矩形,则不能绘制它。
在之前创建并执行碰撞测试。例如:

def draw():
敌人方=pygame.rect(敌人方,敌人方,25,25)
player_rect=pygame.rect(player_x,player_y,25,25)
如果玩家正确碰撞(敌人正确):
#制造新的敌人
# [...]
其他:
敌方=pygame.draw.rect(屏幕、敌方颜色、敌方矩形)
player=pygame.draw.rect(屏幕、玩家颜色、玩家rect)

无论如何,我建议使用中组织的对象。从所有组中删除精灵。

您不能“删除”曲面上绘制的东西。曲面仅包含按行和列组织的一束像素。如果要“删除”矩形,则不能绘制它。
在之前创建并执行碰撞测试。例如:

def draw():
敌人方=pygame.rect(敌人方,敌人方,25,25)
player_rect=pygame.rect(player_x,player_y,25,25)
如果玩家正确碰撞(敌人正确):
#制造新的敌人
# [...]
其他:
敌方=pygame.draw.rect(屏幕、敌方颜色、敌方矩形)
player=pygame.draw.rect(屏幕、玩家颜色、玩家rect)


无论如何,我建议使用中组织的对象。从所有组中删除精灵。

您不能“删除”在曲面上绘制的东西。曲面仅包含按行和列组织的一束像素。有没有办法删除精灵?如果我将播放器更改为精灵,则无法“删除”在曲面上绘制的东西。一个曲面只包含一组按行和列组织的像素。有没有办法删除精灵?如果我把球员换成斯皮特斯特,我会非常感谢你的!我现在有一个随机产卵器,当玩家与它碰撞时,它会改变位置!现在,当我与敌人碰撞时,虽然它改变了位置(随机),这是完美的,但是当我与敌人解除碰撞时,敌人会回到原来的位置。有任何修正吗?@Caleb您必须显示更多代码。注意,评论部分不打算提出额外的问题,这扩展了原始问题。如果你有一个新的问题和新的问题,那么请给所有的贡献者提供帮助和回答你的问题的可能性。非常感谢!我现在有一个随机产卵器,当玩家与它碰撞时,它会改变位置!现在,当我与敌人碰撞时,虽然它改变了位置(随机),这是完美的,但是当我与敌人解除碰撞时,敌人会回到原来的位置。有任何修正吗?@Caleb您必须显示更多代码。注意,评论部分不打算提出额外的问题,这扩展了原始问题。如果你有一个新的问题和一个新的问题,那么请给所有的贡献者提供帮助和回答你的问题的可能性。