运动的小猫

来源:互联网 发布:论文数据 括号里的数字 编辑:程序博客网 时间:2024/04/30 05:20
mport pygame,sysfrom pygame.locals import *pygame.init()FPS=50#FPS:帧速率#FPS指程序每秒钟绘制的图像的数目#很多显示器的FPS=60fpsClock=pygame.time.Clock()#创建pygame.time.Clock对象DISPLAYSURF=pygame.display.set_mode((400,300))pygame.display.set_caption("Animation")WHITE=(255,255,255)catImg=pygame.image.load("cat.png")#可加载.png .jpg .gif .bmp格式的图片文件#pygame.image.load()函数会返回一个Surface对象,这个图片已经绘制在它上面#这个Surface对象和前面那个用pygame.display.set_mode()返回的Surface对象不是同一个#因此我们必须将图像的Surface对象复制到前面那个显示Surface对象上#这通过blit()完成catx=10caty=10direction="right"while True:    DISPLAYSURF.fill(WHITE)    if direction=="right":        catx=catx+5        if catx ==280:            direction="down"    elif direction =="down":        caty=caty+5        if caty ==220:            direction="left"    elif direction =="left":        catx=catx-5        if catx==10:            direction="up"    else:        caty=caty-5        if caty ==10:            direction="right"    DISPLAYSURF.blit(catImg,(catx,caty))    #blit是Surface对象的方法    #blit(Surface对象,两个整数的元组)    #这两个整数表示图像应该复制到的位置的左上角的坐标    #blit:位块复制    #将catImg对象复制到显示DISPLAYSURF对象上    #注意!不能复制当前锁定的Surface对象    #例如在该Surface对象上生成了一个PixelArray对象并且还没有删除该对象    for event in pygame.event.get():        if event.type == QUIT:            pygame.quit()            sys.exit()    pygame.display.update()    fpsClock.tick(FPS)    #tick:一瞬间    #pygame.time.Clock对象将会在游戏循环的每一次迭代上都设置一个小小的暂停,从而确保游戏程序    #不会运行得太快。    #如果没有这些暂停,游戏程序可能会按照计算机能够运行的速度去运行,这对玩家来说往往太快了,    #并且计算机越快,它们运行游戏也就就快    #在游戏循环中调用一个Clock对象的tick()方法,可以确保不管计算机有多快,游戏都按照相同的速度运行。    #在调用pygame.display.update()之后应该调用Clock对象的tick函数    #这里FPS的值越大,即每秒钟出现画面的次数越多,猫咪运动的越快

这里写图片描述