我想知道如何撤消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)
有人知道我的意思吗请给我一些关于如何撤消最后一个绘图按钮的想法?
谢谢。
聚苯乙烯。我对pygame / python很新,所以请慢慢来。
答案 0 :(得分:1)
您只需在用户与应用程序交互时保存框架。
例如在我用opengl编写的demo paint应用程序中,我使用了一个最多包含20个元素的列表,当用户启动一个新动作时我正在更新它。
如果用户点击屏幕,请将当前帧保存到列表中。如果用户停止单击保存新框架。然后,当您需要返回时,您只需要取出列表的最后一个元素并将其绘制到屏幕上。