运动的小猫

mport pygame,sys
from pygame.locals import *

pygame.init()

FPS=50
#FPS:帧速率
#FPS指程序每秒钟绘制的图像的数目
#很多显示器的FPS=60

fpsClock=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=10
caty=10
direction="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的值越大,即每秒钟出现画面的次数越多,猫咪运动的越快

这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值