我一直在玩一个子弹地狱游戏,但是当我试图让子弹在随机方向上产生并沿着直线行进时,我似乎无法做到这一点。我可以看到,使子弹在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)
答案 0 :(得分:0)
在__init__
方法中,您可以创建self.dx
和self.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