def shoot(self): if self.bullet_count > 0: bullet = Bullet(x=self.x, y=self.y, space=self.space) bullet.bind_to(self.hit) for enemy in self._enemies: bullet.bind_to(enemy.hit) bullet.start() self._bullets.add(bullet) self.bullet_count = -1
# нажали кнопку мыши if event.type == pygame.MOUSEBUTTONDOWN: # если на экране надпись, то прячем ее if label.visible: label.visible = False # если на экране меню elif menu.visible: click_menu() # если на экране нет пули, то стреляем elif not bullet.visible: x1 = human.rect.x + Hand.SHOULDER_X y1 = human.rect.y + Hand.SHOULDER_Y x2 = event.pos[0] y2 = event.pos[1] bullet.red = human.hand.red bullet.start(x1, y1, x2, y2) # если на экране надпись и нажали пробел, то убираем надпись if label.visible and event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE: label.visible = False # ESC - заходим в меню if not menu.visible and not label.visible and event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: menu.visible = True # перемещение мышки в меню - раскрашиваем кнопки if event.type == pygame.MOUSEMOTION: menu.set_mouse(event.pos[0], event.pos[1]) human.set_mouse(event.pos[0], event.pos[1]) # рисуем надпись на экране if label.visible: screen.fill(pygame.Color('black')) label.draw(screen)