【发布时间】:2021-06-25 05:28:03
【问题描述】:
一个程序,您单击鼠标,然后从点 1 到 2 出现一个框,框 1 移动到框 2
当框移动时,while 循环中的“更新”似乎不会更新屏幕
相关代码(不是全部):
frames = 0
speed = 20
def distance(x, y, x1, y1):
distance_ = x - x1, y - y1
return distance_
while True:
frames += 1
if box_two_x is not None:
pygame.draw.rect(win, (255, 0, 255), (box_two_x, box_two_y, 13, 13))
while distance(box_one_x, box_one_y, box_two_x, box_two_y)[1] != 0:
frames += 1
if frames % speed == 0:
box_one_y += 1
pygame.display.update()
如果我需要提供有关代码或问题的更多上下文,请随时询问。
附言我试过的
- 在 if 语句之前移动更新
- 调用函数更新屏幕
- 将整个代码放在函数中的第二个 while 语句之后
- 在 if 语句中绘制正方形(在 while 循环中)
【问题讨论】:
-
试试 pygame.display.flip()
-
我以前试过,有什么具体的地方吗?
-
不要尝试在应用程序循环中使用循环来控制游戏!