понедельник, 11 апреля 2011 г.

Pygame. Рисование простых фигур и текста.

В этом примере показывается как в pygame рисовать прямоугольники, линии, текст и другие простые формы.

sample_graphics_demo.py:
# Импорт библиотеки pygame
import pygame

# Инициализируем движок pygame
pygame.init()

# Определяем несколько цветов, которые мы будем
# использовать (RGB)
black = [0, 0, 0]
white = [255, 255, 255]
red = [255, 0, 0]
green = [0, 255, 0]
blue = [0, 0, 255]

pi = 3.141592653

# Устанавливаем размеры окна
size = [400, 500]
screen = pygame.display.set_mode(size)

# Устанавливаем заголовок окна
pygame.display.set_caption("Крутая игра")

# Цикл работает пока пользователь не закроет окно
done = False
clock = pygame.time.Clock()

while done == False:
# Следующяя строка ограничивает наш цикл 10 кадрами в секунду.
# Если этого не сделать, то игра будет использовать
# максимальное колличество ресурсов.
clock.tick(10)

for event in pygame.event.get(): # Проходимся по событиям
if event.type == pygame.QUIT: # Если пользователь закрыл окно
done = True # Сигнализируем что цикл пора завершать

# Все рислвание происходит после нашего for-цикла,
# но внутри главного цикла ( while done==False ).

# Очищаем экран
screen.fill(white)

# Рисуем на экране зеленую линию из левого верхнего угла (0, 0)
# в точку (100, 100) шириной 5 пикселей
pygame.draw.line(screen, green, [0,0], [100,100], 5)

# Рисуем несколько красных линий из точки (0,10) в точку (100, 110)
# используя цикл
y_offset = 0
while y_offset < 100 :
pygame.draw.line(screen, red, [0, 10+y_offset], [100, 110+y_offset], 5)
y_offset += 10

# Выбираем шрифт, который мы будем использовать.
# Стандартный шрифт, 25 точек.
font = pygame.font.Font(None, 25)

# Рисуем текст. "True" означает использовать сглаживание
# Black -- цвет текста. Следующая строка создает образ текста
# но не рисует его на экране.
text = font.render("My text", True, black)

#Рисуем изображение текста на экран в точке (250, 250)
screen.blit(text, [250, 250] )

# Рисуем прямоугольник
pygame.draw.rect(screen, black, [20,20, 250,100], 2)

# Рисуем эллипс. При рисовании эллипса используется
# прямоугольник, в который этот эллипс вписывается
pygame.draw.ellipse(screen, black, [20,20, 250, 100], 2)

# Рисуем дугу как часть эллипса. Координаты угла
# задаются в радианах
pygame.draw.arc(screen,black,[20,220,250,200], 0, pi/2, 2)
pygame.draw.arc(screen,green,[20,220,250,200], pi/2, pi, 2)
pygame.draw.arc(screen,blue, [20,220,250,200], pi,3*pi/2, 2)
pygame.draw.arc(screen,red, [20,220,250,200],3*pi/2, 2*pi, 2)

# Эта строчка рисует треугольник используя функцию "polygon"
pygame.draw.polygon(screen,black,[[100,100],[0,200],[200,200]],5)

# Теперь обновляем окно чтобы все наше рисование
# отбразилось на экране. Это надо делать ПОСЛЕ ТОГО
# как все нарисовали
pygame.display.flip()

pygame.quit()

1 комментарий:

  1. Dried Titanium: What To Look For in Your Favorite Dish - TITS
    In babyliss pro titanium hair dryer an attempt to help titanium vs ceramic flat iron give you the best titanium chords This new carrot is a hot habanero that is delicious and titanium dog teeth implants spicy on your favorite titanium paint color dishes.

    ОтветитьУдалить