Отменить / повторить проблемы 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. Спасибо.

0 ответов

Другие вопросы по тегам