iusepython 发表于 2020-10-4 15:48:06

飞机大战子弹不在飞机中央

子弹会在我放飞机的右侧中间发射出 不知道咋回事,求助大佬们
代码如下
class bullet1(pygame.sprite.Sprite):
    def __init__(self, position):
      pygame.sprite.Sprite.__init__(self)

      self.image = pygame.image.load('image/bullet1.png').convert_alpha()
      self.rect = self.image.get_rect()
      self.rect.left, self.rect.top = position
      self.speed = 12
      self.active = True
      self.maks = pygame.mask.from_surface(self.image)

    def move(self):
      self.rect.top -= self.speed

      if self.rect.top < 0:
            self.active = False

    def reset(self, positon):
      self.rect.left, self.rect.top = positon
      self.active = True
# 发射子弹
            if not (delay % 10):
                bullet1.reset(me.rect.midtop)
                bullet1_index = (bullet1_index + 1) % bullet1_num

kylin121380 发表于 2020-10-4 15:56:35

本帖最后由 kylin121380 于 2020-10-4 15:58 编辑

你子弹设置的位置是左上角(left,top),输入的坐标是飞机的中上(midtop),得到的结果就是子弹偏右(子弹的左上角到了飞机的中上点)
页: [1]
查看完整版本: 飞机大战子弹不在飞机中央