Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame
- pygame.init()
- WIDTH = 400
- HEIGHT = 400
- screen = pygame.display.set_mode((WIDTH, HEIGHT))
- clock = pygame.time.Clock()
- FPS = 30
- # Создаём наш объект - прямоугольную область 50 на 50
- my_obj = pygame.rect.Rect(0, 0, 50, 50)
- my_obj.center = screen.get_rect().center # Поместим наш объект в центр экрана
- my_obj_forma = 0 # 0 - Квадрат, 1 - Круг
- my_obj_color = 'red'
- # Создаём своё событие в переменной next_form.
- # USEREVENT - это событие, которое настраивает пользователь
- next_form = pygame.USEREVENT + 1
- # Создаём таймер для нашего события,
- # указывая какое событие должно произойти, и время в миллисекундах 1 с = 1000 мс
- pygame.time.set_timer(next_form, 10000)
- # Создадим ещё один таймер, для события смены цвета каждые 5 секунд
- # так как USEREVENT + 1 уже есть, то добавим 2
- change_color = pygame.USEREVENT + 2
- # Создаём таймер для нашего события,
- # указывая какое событие должно произойти, и время в миллисекундах 1 с = 1000 мс
- pygame.time.set_timer(change_color, 5000)
- run = True
- while run:
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- run = False
- # Если произошло наше событие next_form, то изменить форму
- if event.type == next_form:
- my_obj_forma += 1
- # Если произошло наше событие change_color, то изменить цвет
- if event.type == change_color:
- if my_obj_color == 'red':
- my_obj_color = 'green'
- else:
- my_obj_color = 'red'
- # Тут проверяем, чтобы форма объекта была только 0 и 1,
- # если большк 1, тогда снова 0
- if my_obj_forma > 1:
- my_obj_forma = 0
- screen.fill('white')
- if my_obj_forma == 0:
- pygame.draw.rect(screen, my_obj_color, my_obj)
- else:
- pygame.draw.circle(screen, my_obj_color, my_obj.center, my_obj.width // 2)
- pygame.display.flip()
- clock.tick(FPS)
- pygame.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement