Рубрики
Raspberry Pi

python Pygame

Основное:

Каждый пиксель поверхности представлен виде трех восьми битных RGB-чисел (от 0 до 255)
(красны, зеленый, синий, прозрачность)
(255, 255, 255) - без прозрачности
(0, 255, 0, 127) - зеленый 50% прозрачности

Окно - главная поверхность, на которой рисуются остальные поверхности.
Поверхности всегда имеют прямоугольную форму.

pygame.dysplay - модуль управление и информация об окне
set_mode() - функция создает окно
update() - функция перерисовывает сцену каждый раз

pygame.image - модуль управления картинками
load() - загрузить картинку из файла и отобразить ее на поверхности окна

blit() - отобразить картинку (после создания окна)

pygame.transform - модуль вращение и изменения размера картинок

pygame.surfarray - доступ к отдельным пикселям

pygame.mask - использование маски из другой поверхности

pygame.draw - рисование кругов, прямоугольников, линий, квадратов и т.д.

pygame.gfxdraw - экспериментальный модуль рисования

pygame.font -вывод на экран текста

Дополнительные шрифты:

sudo apt-get install ttf-mscorefonts-installer - дополнительные шрифты
sudo apt-get install ttf-liberation - дополнительные шрифты

Пример поверхности в pygame:

import pygame

pygame.init()
screen = pygame.display.set_mode((450, 450))
background = pygame.image.load("background.png") #загружаем фоновую картинку (должна быть в директории скрипта)
background.convert_alpha() #формат поверхности погоняется под размеры текущего окна
screen.blit(background, (0, 0)) #по умолчанию фон черный, он объединяется с картинкой
while true:
    pygame.display.update()

Пример объединяем две картинки:

import pygame

pygame.init()
screen = pygame.display.set_mode((450, 450))
bg = pygame.image.load("background.png").convert_alpha() #загружаем фоновую картинку 1 
theremin = pygame.image.load("theremin.png").convert_alpha() #загружаем фоновую картинку 2
screen.blit(bg, (0, 0)) 
screen.blit(theremin, (135, 50))
while true:
    pygame.display.update()

Узнаем какие шрифты установлены:

import pygame

pygame.init()
for fontname in pygame.font.get_fonts():
     print fontname

Вывод на экран текста:

import pygame

pygame.init()
screen = pygame.dysplay.set_mode((725, 92))
font = pygame.font.SysFont("freeserif", 72, bold = 1 ) # используем шрифт freeserif размер 72, жирный
textSurface = font.render("1 Theremin Per Child!", 1,
                          pygame.Color(255, 255, 255)) #белый текст "1 Theremin Per Child!"
screen.blit(textSurface, (10, 10))
while True:
      pygame.display.update()

Дополнительно:

pygame еще может много. 
например воспроизводить аудио и видео, спрайты, управление и т.д.

/usr/share/pyshared/pygame/examples - примеры

http://pygame.org/docs/ - документация