Отменить шаги в Pygame - PullRequest
       19

Отменить шаги в Pygame

1 голос
/ 30 января 2012

Мне было интересно, как я могу отменить рисование шагов в Python / Pygame.По сути, я заставил мышь рисовать линии, и когда я щелкаю свой откат Rect, я хочу, чтобы экран вернулся в исходное состояние (до нажатия мыши).Вот мой код, но он не работает.

copy=screen.copy()
if undoRect.collidepoint(mx,my) and mb[0]==1:
       screen.blit(copy,(0,0))
 if mb[0]==1 and omb[0]==1:
       draw.line(screen,color,(omx,omy),(mx,my),5)

Может кто-нибудь, кто знает, что я имею в виду, пожалуйста, дайте мне идеи о том, как отменить последнюю кнопку рисования?

Спасибо.

Ps.Я довольно новичок в pygame / python, поэтому, пожалуйста, идите немного медленнее.

1 Ответ

1 голос
/ 30 января 2012

Вам просто нужно сохранить кадры, когда пользователь взаимодействует с приложением.

Например, в демонстрационном приложении для рисования, которое я написал с помощью opengl, я использовал список максимум из 20 элементов и обновлял его, когда пользователь запускал новое действие.

Если пользователь нажимает на экран, сохраните текущий кадр в списке.Если пользователь прекратит нажимать, сохраните новый фрейм.Затем, когда вам нужно вернуться назад, вам просто нужно взять последний элемент вашего списка и нарисовать его на экране.

...