Прикреплённый файл «pygame_1-1.py»
Загрузка 1 #!/usr/bin/env python
2 # -*- coding: UTF-8 -*-
3 '''
4 Проект "Построение графика", подзадача pygame 1-1
5 "Резиновые линии":
6 левая кнопка мыши -- начать рисование "резиновой" линии
7 перемещение мыши -- рисовать линию, если рисование начато
8 правая кнопка мыши -- окончательно нарисовать линию
9 "Q", закрытие окна -- выйти
10 пробел -- включить/выключить вывод всех событий на текстовый экран
11 '''
12
13 from math import *
14 import sys
15
16 import pygame
17 pygame.init()
18
19 W, H = 800, 600
20 pen=(10,100,200)
21 screen=pygame.display.set_mode((W,H))
22 Center,Copy,Debug=(),None,False
23
24 while True:
25 pygame.display.flip()
26 event = pygame.event.wait()
27 # Выход по закрытию окна и нажатии "q"
28 if event.type == pygame.QUIT or \
29 event.type == pygame.KEYDOWN and event.unicode == u"q":
30 sys.exit()
31 # Рисовать линию, если стартовые координаты непусты
32 elif event.type == pygame.MOUSEMOTION:
33 if Center:
34 screen.blit(Copy, (0,0)) # восстанавливаем состояние экрана без линии
35 pygame.draw.line(screen, pen, Center, event.pos)
36 elif event.type == pygame.MOUSEBUTTONDOWN:
37 # Нажата левая кнопка -- начать рисовать линию
38 if event.button == 1:
39 Center = event.pos
40 Copy = screen.copy() # состояние экрана без нарисованной линии
41 # Нажата правая кнопка -- нарисовать линию
42 elif event.button == 3:
43 Center = () # нарисованная линия остаётся на экране
44 # Включить/выключить отладку -- вывод всех событий по пробелу
45 elif event.type == pygame.KEYDOWN and event.unicode == u" ":
46 Debug = not Debug
47 print "=== Trace", Debug
48 # не надо этот пробел больше обрабатывать
49 continue
50 # выводить все события, если отладка включена
51 if Debug:
52 print event
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2011-09-26 11:35:27, 1.6 KB) [[attachment:Oval.seg]]
- [получить | показать] (2011-09-26 11:35:27, 2.4 KB) [[attachment:PyGameState_Editor.dia]]
- [получить | показать] (2011-09-26 11:35:27, 2.8 KB) [[attachment:PyGameState_Ellipse.dia]]
- [получить | показать] (2011-09-26 11:35:27, 2.8 KB) [[attachment:PyGameState_Figure.dia]]
- [получить | показать] (2011-09-26 11:35:27, 1.5 KB) [[attachment:PyGameState_Input.dia]]
- [получить | показать] (2011-09-26 11:35:27, 0.4 KB) [[attachment:grap_0.py]]
- [получить | показать] (2011-09-26 11:35:27, 1.4 KB) [[attachment:grap_1-1.py]]
- [получить | показать] (2011-09-26 11:35:27, 1.1 KB) [[attachment:grap_1.py]]
- [получить | показать] (2011-09-26 11:35:27, 1.8 KB) [[attachment:grap_2.py]]
- [получить | показать] (2011-09-26 11:35:27, 2.4 KB) [[attachment:grap_3.py]]
- [получить | показать] (2011-09-26 11:35:27, 2.6 KB) [[attachment:grap_4.py]]
- [получить | показать] (2011-09-26 11:35:27, 2.0 KB) [[attachment:grap_5-0.py]]
- [получить | показать] (2011-09-26 11:35:27, 4.8 KB) [[attachment:grap_5-1.py]]
- [получить | показать] (2011-09-26 11:35:27, 3.6 KB) [[attachment:grap_5.py]]
- [получить | показать] (2011-09-26 11:35:27, 3.5 KB) [[attachment:grap_6-0.py]]
- [получить | показать] (2011-09-26 11:35:27, 4.7 KB) [[attachment:grap_6.py]]
- [получить | показать] (2011-09-26 11:35:27, 9.7 KB) [[attachment:grap_7.py]]
- [получить | показать] (2011-09-26 11:35:27, 0.8 KB) [[attachment:pygame_0.py]]
- [получить | показать] (2011-09-26 11:35:27, 2.2 KB) [[attachment:pygame_1-1.py]]
- [получить | показать] (2011-09-26 11:35:27, 1.9 KB) [[attachment:pygame_1.py]]
- [получить | показать] (2011-09-26 11:35:27, 2.5 KB) [[attachment:pygame_2-0.py]]
- [получить | показать] (2011-09-26 11:35:27, 1.3 KB) [[attachment:pygame_2-1-0.py]]
- [получить | показать] (2011-09-26 11:35:27, 5.6 KB) [[attachment:pygame_2-1.py]]
Вам нельзя прикреплять файлы к этой странице.