Part 13

Больше приемов pygame

Заголовок окна

Ваши программы будут выглядеть профессиональнее, если вместо "pygame window" заголовок окна будет содержать настоящее имя программы. Заголовок задается функцией pygame.display.set_caption:

pygame.display.set_caption("Great Adventure")

Рисование фигур

Следующая программа рисует на экране прямоугольник, круг и линию:

import pygame

pygame.init()
display = pygame.display.set_mode((640, 480))
display.fill((0, 0, 0))

pygame.draw.rect(display, (0, 255, 0), (50, 100, 200, 250))
pygame.draw.circle(display, (255, 0, 0), (200, 150), 40)
pygame.draw.line(display, (0, 0, 255), (80, 120), (300, 160), 2)

pygame.display.flip()

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()

Запуск кода выше должен выглядеть так:

Рисование текста

Текст в pygame рисуется в два шага: сначала мы создаем изображение, содержащее нужный текст, а затем это изображение рисуется на экране. Это работает так:

import pygame

pygame.init()
display = pygame.display.set_mode((640, 480))
display.fill((0, 0, 0))

game_font = pygame.font.SysFont("Arial", 24)
text = game_font.render("Moikka!", True, (255, 0, 0))
display.blit(text, (100, 50))
pygame.display.flip()

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()

Запуск кода выше должен выглядеть так:

Здесь метод pygame.font.SysFont создает объект шрифта, который использует системный шрифт Arial размером 24. Затем метод render создает изображение указанного текста заданного цвета. Это изображение рисуется в окне методом blit, как и раньше.

Обратите внимание: в разных системах будут доступны разные шрифты. Если в системе, где выполняется эта программа, нет шрифта Arial, несмотря на то что Arial — очень распространенный шрифт, доступный в большинстве систем, вместо него используется системный шрифт по умолчанию. Если вам нужно, чтобы в игре был доступен конкретный шрифт, можно включить файл шрифта в директорию игры и указать его расположение для метода pygame.font.Font.

Упражнения

Вот несколько более сложных упражнений для практики того, что вы изучили в этой части материала курса.

Loading
Loading

Ответьте, пожалуйста, на короткий опрос по этой части курса.

Вы дошли до конца этого раздела!

Текущие баллы можно посмотреть в синем индикаторе в правом нижнем углу страницы.

В этой части:
  1. 1. Pygame

  2. 2. Анимация

  3. 3. События

  4. 4. Больше приемов pygame