вторник, 16 апреля 2013 г.

Основы Pygame

import pygame

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

# Определяем цвета
aqua      = (  0, 255, 255)   # морская волна
black     = (  0,   0,   0)   # черный       
blue      = (  0,   0, 255)   # синий        
fuchsia   = (255,   0, 255)   # фуксия       
gray      = (128, 128, 128)   # серый        
green     = (  0, 128,   0)   # зеленый      
lime      = (  0, 255,   0)   # цвет лайма   
maroon    = (128,   0,   0)   # темно-бордовый
navy_blue = (  0,   0, 128)   # темно-синий  
olive     = (128, 128,   0)   # оливковый    
purple    = (128,   0, 128)   # фиолетовый   
red       = (255,   0,   0)   # красный      
silver    = (192, 192, 192)   # серебряный   
teal      = (  0, 128, 128)   # зелено-голубой
white     = (255, 255, 255)   # белый        
yellow    = (255, 255,   0)   # желтый       


# Задаем ширину и высоту экрана
size = [1000,800]
screen = pygame.display.set_mode(size)

# Установить заголовок окна
pygame.display.set_caption("Окно игры")

done=False
clock=pygame.time.Clock()

# Основной цикл программы
while done==False:
    # Пользователь что-то сделал
    for event in pygame.event.get():
        # Реагируем на действия пользователя
        if event.type == pygame.QUIT:
            done=True


    screen.fill(white)
    # Тут можно рисовать

    pygame.draw.polygon(screen, aqua, ((146, 0), (291, 106), (236, 277), (56, 277), (0,106)))
    pygame.draw.line(screen, red, (60, 60), (120, 60), 4)
    pygame.draw.line(screen, green, (120, 60), (60, 120))
    pygame.draw.line(screen, yellow, (60, 120), (120, 120), 4)
    pygame.draw.circle(screen, blue, (300, 50), 20,0)
    pygame.draw.ellipse(screen, maroon, (300, 250, 40, 80), 1)
    pygame.draw.rect(screen, purple, (200, 150, 100, 50))


    # Рисунок появится после обновления экрана
    pygame.display.flip()

    # Экран будет перерисовываться 30 раз в секунду
    clock.tick(30)

# Корректный выход
pygame.quit()




Еще примеры:

# Нарисовать на экране зелёную линию от (0,0) до (100,100)
# шириной в пять пикселей.
pygame.draw.line(screen,green,[0,0],[600,400],5)

# Нарисовать на экране красную линию от (0,300) до (500,300)
# шириной в восемь пикселей.
pygame.draw.line(screen,red,[0,300],[500,300],8)

# Нарисовать на экране несколько красных линий от (0,10) до (100,110)
# шириной в 5 пикселей, используя цикл
for y_offset in range(0,100,10):
    pygame.draw.line(screen,red,[0,10+y_offset],[100,110+y_offset],5)

# Нарисовать на экране несколько зелёных линий от (0,10) до (100,110)
# шириной в пять пикселей, используя цикл for
for y_offset in range(0,100,10):
   pygame.draw.line(screen,green,[0,10+y_offset],[100,110+y_offset],5)

# Нарисуем прямоугольник с координатами левого верхнего угла (20, 20)
# с шириной в 250 пикселей, и высотой в 100 пикселей.
# ширина линии 2 пикселя, цвет красный
pygame.draw.rect(screen,red,[20,20,250,100],2)

# Нарисуем эллипс с координатами левого верхнего угла (20, 20)
# с шириной в 250 пикселей, и высотой в 100 пикселей.
# ширина линии 2 пикселя, цвет красный
pygame.draw.ellipse(screen,red,[20,20,250,100],2)

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

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




Комментариев нет:

Отправить комментарий