首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >勾画互动

勾画互动
EN

Stack Overflow用户
提问于 2014-12-25 08:13:20
回答 1查看 295关注 0票数 0

嗨,我很难实现我的想法。我最初想用鼠标点击两下来绘制矩形,但是它不能正常工作,所以我把它简化成这样:用鼠标点击就可以画出固定大小的矩形。但是它仍然不起作用/.

代码语言:javascript
复制
import pygame
windowSize = (500,500)
white = (255,255,255)
black = (0,0,0)

pygame.init()
screen = pygame.display.set_mode(windowSize)
running = 1

while running:
    screen.fill(white)
    pygame.display.update()
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            running = 0

问题就在这里

代码语言:javascript
复制
        elif event.type == pygame.MOUSEBUTTONDOWN:
            rect = pygame.Rect(event.dict["pos"],(30,50))
            pygame.draw.rect(screen,black,rect,1)


    pygame.display.flip()

我知道我的代码可能有很多概念错误.请帮帮忙!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-25 11:02:42

你正在填充整个屏幕的每一个滴答。因此,在您实际绘制屏幕后,下一次勾选时,屏幕将再次变为空白。只需将screen.fill(white)从主周期中移出:

代码语言:javascript
复制
import pygame
windowSize = (500,500)
white = (255,255,255)
black = (0,0,0)

pygame.init()
screen = pygame.display.set_mode(windowSize)
running = 1

screen.fill(white)
while running:
    pygame.display.update()
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
        elif event.type == pygame.MOUSEBUTTONDOWN:
            rect = pygame.Rect(event.dict["pos"],(30,50))
            pygame.draw.rect(screen,black,rect,1)
    pygame.display.flip()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27645438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档