我正在尝试在这里编写一个 pygame 代码,但它没有按照我想要的方式工作,我想修复屏幕上的这个圆圈,你们能帮我吗?
while True:
clock.tick(60)
window.blit(bg, (0,0))
# circulo #
for event in pg.event.get():
if event.type == pg.KEYDOWN:
if event.key == pg.K_q:
clock.tick(1)
pg.draw.circle(window, (5,5,5), [120, 120], 60, 1)
continue
最佳答案
问题是您(可能)使用 window.blit(bg, (0,0)) 清除屏幕每一帧
。
然后,如果用户按 q,则仅针对该帧绘制一个圆圈。再过几毫秒(可能小于 1 毫秒)后,背景将重新绘制。因此,根据您的系统,人们可能永远不会注意到正在绘制的圆圈。
解决此问题的一种方法是设置一个 bool “标志”,以便重新绘制圆圈,直到标志再次变回原样。
draw_circle = False # Should the circle be drawn?
while True:
clock.tick(60)
# re-draw the scene
window.blit(bg, (0,0))
# circulo #
if draw_circle:
pg.draw.circle(window, (5,5,5), [120, 120], 60, 1)
for event in pg.event.get():
if event.type == pg.KEYDOWN:
if event.key == pg.K_q:
draw_circle = not draw_circle # toggle circle on/off
关于python - 我该如何阻止它消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63459630/