# -*- encoding: utf-8 -*-
#
# Отрисовка изображений
#
# Основано на примерах Simpson College Computer Science <http://cs.simpson.edu>
import pygame
# Определим константы для цветов (модель RGB)
white = (255, 255, 255)
black = (0, 0, 0)
def main_impl():
# Инициализируем экран для рисования
size = (800, 600)
screen = pygame.display.set_mode(size)
# Создадим поверхность для рисования
background = pygame.Surface(screen.get_size())
# Заполним поверхность черным цветом
background.fill(black)
clock = pygame.time.Clock()
# Загружаем звук из файла
click_sound = pygame.mixer.Sound("click.wav")
# Положения заднего фона
background_position = [0, 0]
# Загрузим изображение фона
background_image = pygame.image.load("saturn_family1.jpg").convert()
# Загрузим изображение курсора
player_image = pygame.image.load("player.png").convert()
player_image.set_colorkey(white) # зададим цвет прозрачности
# Флаг: стоит ли завершить игру
done = False
# ------- главный цикл приложения
while not done:
# Обработаем события (ввод с клавиатуры, мышь и т.п.)
for event in pygame.event.get():
if event.type == pygame.QUIT: # пользователь нажал кнопку закрытия окна
done = True # завершить главный цикл на следующей итерации
if event.type == pygame.MOUSEBUTTONDOWN:
# Если нажата кнопка мыши — проиграть звук
click_sound.play()
# Копируем фоновое изображение из поверхности на экран в координаты
# background_position
screen.blit(background_image, background_position)
# Получаем позицию мышки
x, y = pygame.mouse.get_pos()
# Копируем изображение курсора на экран в положение мышки
screen.blit(player_image, (x, y))
pygame.display.flip()
# Ограничиваем частоту обновления экрана 50 кадрами в секунду
clock.tick(50)
def main():
# Инициализируем библиотеку PyGame.
pygame.init()
try:
main_impl()
finally:
# Всегда деинициализируем библиотеку PyGame, даже в случае падения.
pygame.quit()
if __name__ == "__main__":
main()