Advertisement
Orleon

Sprite Move

Oct 23rd, 2021
922
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.63 KB | None | 0 0
  1. import pygame
  2.  
  3. pygame.init()  # Инициализируем модуль pygame
  4.  
  5. width = 1366  # ширина игрового окна
  6. height = 768  # высота игрового окна
  7. fps = 30  # частота кадров в секунду
  8. game_name = "Arkanoid"  # название нашей игры
  9.  
  10. # Цвета
  11. BLACK = "#000000"
  12. WHITE = "#FFFFFF"
  13. RED = "#FF0000"
  14. GREEN = "#008000"
  15. BLUE = "#0000FF"
  16. CYAN = "#00FFFF"
  17.  
  18. # Создаем игровой экран
  19. screen = pygame.display.set_mode((width, height))
  20. pygame.display.set_caption(game_name)       # Заголовок окна
  21.  
  22. icon = pygame.image.load('icon.png')        # Загружаем файл с иконкой
  23. pygame.display.set_icon(icon)               # Устанавливаем иконку в окно
  24.  
  25. timer = pygame.time.Clock()                 # Создаем таймер pygame
  26. run = True
  27.  
  28. pic = pygame.image.load('smile.png')        # Загружаем спрайт
  29. pic_rect = pic.get_rect()                   # Получаем рамку спрайта
  30.  
  31. racket = pygame.image.load('racket.png')    # Загружаем спрайт игрока
  32. racket_rect = racket.get_rect()             # Получаем рамку спрайта игрока
  33. racket_rect.x = width / 2 - racket.get_width()/2
  34. racket_rect.y = height - 50
  35.  
  36. speedx = 10                             # Скорость движения по горизонтали
  37. speedy = 10                             # Скорость движения по вертикали
  38.  
  39. while run:                                  # Начинаем бесконечный цикл
  40.     timer.tick(fps)                         # Контроль времени (обновление игры)
  41.     for event in pygame.event.get():        # Обработка ввода (события)
  42.         if event.type == pygame.QUIT:       # Проверить закрытие окна
  43.             run = False                     # Завершаем игровой цикл
  44.     key = pygame.key.get_pressed()          # Считываем нажатия на клавиши
  45.     if key[pygame.K_LEFT] and racket_rect.left > 0:         # Движение влево
  46.         racket_rect.x -= 10
  47.     if key[pygame.K_RIGHT] and racket_rect.right < width:   # Движение вправо
  48.         racket_rect.x += 10
  49.     # Рендеринг (прорисовка)
  50.     screen.fill(CYAN)                       # Заливка заднего фона
  51.     screen.blit(pic, pic_rect)
  52.     pic_rect.x += speedx                    # Увеличиваем координату Х спрайта
  53.     pic_rect.y += speedy                    # Увеличиваем координату Y спрайта
  54.     if pic_rect.bottom > height:                # Если достигли нижней границы экрана
  55.         speedy = -speedy
  56.     if pic_rect.top < 0:                        # Если достигли верхней границы экрана
  57.         speedy = -speedy
  58.     if pic_rect.left < 0:                       # Если достигли левой границы экрана
  59.         speedx = -speedx
  60.     if pic_rect.right > width:                  # Если достигли правой границы экрана
  61.         speedx = -speedx
  62.     if pic_rect.colliderect(racket_rect):       # Столкновение рамок смайлика и ракетки
  63.         speedy = -speedy                        # Изменяем скорость движения смайлика
  64.  
  65.  
  66.  
  67.     screen.blit(racket, racket_rect)
  68.     pygame.display.update()                 # Переворачиваем экран
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement