私は自分のキャラクターをpygameで撃とうとしています。弾丸を彼の位置から動かすことができず、画面の端に当たったら止まります。私が望むのは、画面の端に衝突するまで動き続けることです。次のコードを実行すると、クラッシュします。
class BULLET(pygame.sprite.Sprite):
def __init__(self, speed, location):
self.pos = [0,0]
pygame.sprite.Sprite.__init__(self)
self.image = SHOWBULLET
self.rect = self.image.get_rect()
self.rect.left, self.rect.top = location
self.rect.center = location
self.speed = speed
def move(self):
if AMMO > 0:
if event.type == pygame.MOUSEBUTTONDOWN and Gun.image == NOGUN:
held_down = True
if held_down == True:
self.rect.centerx = Player.rect.centerx
self.rect.centery = Player.rect.centery
if Player.direction == 0:
self.direction = 0
while self.rect.top >= screen.get_rect().top:
self.rect.top = self.rect.top + 20
if self.rect.top <= screen.get_rect().top:
break