Для создания игр существует специальная библиотека pygame.
Для ее подключения необходимо в начале программы написать:
import sys, pygame
Для инициализации pygame
pygame.init()
Для загрузки спрайтов в игру
ball = pygame.image.load("ball.gif")
Для определения размеров объекта
ballrect = ball.get_rect()
Для перемещения объекта
plrect = plrect.move([0, height-100])
Где в функцию move передается массив с изменениями координат по осям x и y
Для обработки выхода из игры служит код:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
Обработка событий клавиатуры
keys = pygame.key.get_pressed()
if keys[pygame.K_RIGHT]:
plrect = plrect.move([3,0])
if keys[pygame.K_LEFT]:
plrect = plrect.move([-3,0])
Для создания фона игры
screen.fill(black)
Для отображения объекта на экране
screen.blit(ball, ballrect)
Для управления fps
pygame.time.wait(10)
для отображения созданного кадра
pygame.display.flip()
Простой пример кода игры:
import sys, pygame
pygame.init()
size = width, height = 320, 240
speed = [2, 2]
black = 0, 0, 0
screen = pygame.display.set_mode(size)
ball = pygame.image.load("ball.gif")
platform = pygame.image.load("platform.png")
ballrect = ball.get_rect()
plrect = platform.get_rect()
plrect = plrect.move([0, height-100])
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
keys = pygame.key.get_pressed()
if keys[pygame.K_RIGHT]:
plrect = plrect.move([3,0])
if keys[pygame.K_LEFT]:
plrect = plrect.move([-3,0])
ballrect = ballrect.move(speed)
if ballrect.left < 0 or ballrect.right > width:
speed[0] = -speed[0]
if ballrect.top < 0 or ballrect.bottom > height:
speed[1] = -speed[1]
screen.fill(black)
screen.blit(ball, ballrect)
screen.blit(platform, plrect)
pygame.time.wait(10)
pygame.display.flip()
Задание:
Доделать код чтобы мяч отталкивался от платформы.
