Отменить / повторить проблемы Python
В настоящее время у меня возникли некоторые проблемы с моей отменой / повтором для моей программы рисования, которую я создаю, используя python 2.7.5 и pygame. Вот мой код:
if e.type == MOUSEBUTTONUP:
if e.button == 1:
if canvas.collidepoint(mx,my):
image = screen.copy()
undo.append(image)
toolH.append(tool)
if undoRect.collidepoint(mx,my) and mb[0] == 1:
if len(undo)>0 and len(toolH)>0:
screen.blit(undo[-1],(0,0))
redo.append(undo[-1])
del(undo[-1])
tool = toolH[-1]
del(toolH[-1])
print(toolH)
if redoRect.collidepoint(mx,my) and mb[0] == 1:
if len(redo)>0:
screen.blit(redo[-1],(0,0))
undo.append(redo[-1])
del(redo[-1])
Это в моем цикле событий. По сути, когда я щелкаю свой инструмент отмены, цикл удаляет одно сохраненное изображение, но не стирает изображение. Эта проблема также возникает с повтором. Кроме того, когда я чередую между нажатием отмены и повтора, обе кнопки в конечном итоге перестают работать, но моя программа не падает. Любая помощь будет оценена. Единственное, что я прошу, это, пожалуйста, не усложняйте понятия, поскольку я новичок и все еще изучаю Python. Спасибо.