随机方向子弹?

时间:2014-06-28 15:40:05

标签: python random projectile

我一直在玩一个子弹地狱游戏,但是当我试图让子弹在随机方向上产生并沿着直线行进时,我似乎无法做到这一点。我可以看到,使子弹在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)

1 个答案:

答案 0 :(得分: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