0

我一直在做子弹地狱游戏,但是当我尝试让子弹以随机方向产生并沿直线行进时,我似乎无法做到。我可以看到,使子弹在 x 和 y 轴上移动 +/- 某些像素只会导致它们以看起来不自然的随机模式移动。

我的代码:

class Bullet(pygame.sprite.Sprite):
    def __init__(self):

        pygame.sprite.Sprite.__init__(self)

        self.image = pygame.image.load("Bullet.png")
        self.rect = self.image.get_rect()

    def update(self) :

        self.rect.x += random.randrange(-10,10) 
        self.rect.y += random.randrange(-10,10)
4

1 回答 1

0

在该__init__方法中,您可以创建self.dxself.dy变量,这些变量将在实例化时随机选择一次,然后每次保持不变update

class Bullet(pygame.sprite.Sprite):

    def init(self):
        pygame.sprite.Sprite.__init__(self)

        self.image = pygame.image.load("Bullet.png")
        self.rect = self.image.get_rect()

        self.dx = random.randrange(-10,10)
        self.dy = random.randrange(-10,10)

    def update(self):
        self.rect.x += self.dx
        self.rect.y += self.dy
于 2014-06-28T15:42:24.387 回答