Python 如何在屏幕上从左到右设置对象动画而不拖尾?

Python 如何在屏幕上从左到右设置对象动画而不拖尾?,python,pygame,Python,Pygame,我怎样才能使我的“绘制云”功能在屏幕上只从左向右移动一次而不创建轨迹?我尝试将for循环移动到while循环中,但没有成功 导入pygame pygame.init() 大小=(640480) win=pygame.display.set_模式(大小) width=win.get_width() 高度=获胜。获得高度() 蓝色=(135255255) def绘制云(x、y、大小): pygame.draw.circle(赢,(255255),(x,y),整数(大小*.5)) pygame.dra

我怎样才能使我的“绘制云”功能在屏幕上只从左向右移动一次而不创建轨迹?我尝试将for循环移动到while循环中,但没有成功

导入pygame
pygame.init()
大小=(640480)
win=pygame.display.set_模式(大小)
width=win.get_width()
高度=获胜。获得高度()
蓝色=(135255255)
def绘制云(x、y、大小):
pygame.draw.circle(赢,(255255),(x,y),整数(大小*.5))
pygame.draw.circle(赢,(255255255),(整数(x+size*.5),y),整数(size*.6))
pygame.draw.circle(赢,(255255255),(x+大小,整数(y-大小*.1)),整数(大小*.4))
pygame.draw.rect(赢,(0160,3),(0400640,80))
pygame.draw.rect(赢,(135255255),(0,0640400))
对于范围内的i(60、600、100):
画云(i,120,80)
pygame.display.update()
运行=真
myClock=pygame.time.Clock()
运行时:
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
运行=错误
我的时钟滴答(60)
pygame.quit()

您已经在应用程序循环中连续绘制了整个场景,并且必须使用
fill()
清除背景:

导入pygame
pygame.init()
大小=(640480)
win=pygame.display.set_模式(大小)
myClock=pygame.time.Clock()
width=win.get_width()
高度=获胜。获得高度()
蓝色=(135255255)
def绘制云(x、y、大小):
pygame.draw.circle(赢,(255255),(x,y),整数(大小*.5))
pygame.draw.circle(赢,(255255255),(整数(x+size*.5),y),整数(size*.6))
pygame.draw.circle(赢,(255255255),(x+大小,整数(y-大小*.1)),整数(大小*.4))
x=640
运行=真
运行时:
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
运行=错误
赢。填充(0)
pygame.draw.rect(赢,(0160,3),(0400640,80))
pygame.draw.rect(赢,(135255255),(0,0640400))
画云(x,120,80)
pygame.display.update()
x-=1
如果x<-120:
x=640
我的时钟滴答(60)
pygame.quit()
典型的PyGame应用程序循环必须:

  • 通过或处理事件
  • 根据输入事件和时间(分别为帧)更新游戏状态和对象位置
  • 清除整个显示或绘制背景
  • 绘制整个场景(
    blit
    所有对象)
  • 通过或更新显示
  • 限制每秒帧数以限制CPU使用