【发布时间】:2014-04-19 15:19:03
【问题描述】:
首先,这是一项学校作业,所以我想坦率地说。其次,我只是在寻求有关该方法的建议,以及对代码的可能帮助。我正在使用我们书中的一些预先存在的代码进行 MSPAINT 样式的克隆。代码中已经有了按鼠标键1时draw.line的用法。老师要我们增加画圆或矩形的能力。我正在研究圆圈部分,并且我已经弄清楚(感谢这里的论坛)如何实现我想对 MOUSEBUTTONDOWN 和 MOUSEBUTTONUP 事件做的事情。这给我带来了一个新问题。我该怎么做blit 然后擦除然后 blit 预览圆圈,直到达到用户想要的大小,然后他们释放 MOUSEBUTTON 并查看最终 blit...
while keepGoing:
clock.tick(30)
for event in pygame.event.get():
if event.type == pygame.QUIT:
keepGoing = False
elif event.type == pygame.MOUSEMOTION:
lineEnd = pygame.mouse.get_pos()
if pygame.mouse.get_pressed() == (1,0,0):
pygame.draw.line(background, drawColor, lineStart, lineEnd, lineWidth)
lineStart = lineEnd
elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 3:
circleStart = pygame.mouse.get_pos()
elif event.type == pygame.MOUSEBUTTONUP and event.button == 3:
circleEnd = pygame.mouse.get_pos()
size = (circleEnd[0] - circleStart[0])
pygame.draw.circle(background, drawColor, circleStart, size, lineWidth)
elif event.type == pygame.KEYDOWN:
myData = (event, background, drawColor, lineWidth, keepGoing)
myData = checkKeys(myData)
event, background, drawColor, lineWidth, keepGoing) = myData
非常感谢
-本
【问题讨论】:
-
好吧,所以我在这里做了更多调查,并找到了我对 mousebutton 事件的答案,但它现在让我想到了另一个问题。我如何在 mousebuttonup 事件之前将圆圈作为预览?跨度>
-
如果您的问题发生了变化,您应该edit 它来表示您现在的实际问题是根据需要添加/删除信息。
-
马上就做!
标签: python python-2.7 pygame