编程python如何制作动画,python简单动画代码

大家好,本文将围绕python零基础入门高薪必看动画课展开说明,python做动画主要要学哪些东西是一个很多人都想弄明白的事情,想搞清楚看动画,学python,零基础入门需要先了解以下几个事情。

 

我们知道,游戏里的动画就是在短暂的时间里让窗口画面不断的变换图像。通过视觉的延迟来欺骗眼镜,让我们以为看到的是一个连续的动画。

想象我们的程序窗口有6个像素宽、1个像素高。除了4,0位置的像素是黑色的外,所有的像素颜色都是白色的。窗口是这个样子:

如果我们同时把第3,0的位置改为黑色、4,0位置改为白色,窗口会展示成下面的样子:

对于用户来说,他看到的就是第四个黑色移动到了第三个黑色位置上。如果我们把2,0改为黑色,那整个程序给用户看起来就是一个动画了。

对我们来说这是对话,但是对计算机来讲,它就是在很短的时间里渲染了三张不同图片而已。

下面,我们来做个例子演示猫捉老鼠的动画:

看代码:

import pygame, sysfrom pygame.locals import *pygame.init()FPS = 30 # frames per second settingfpsClock = pygame.time.Clock()# set up the windowDISPLAYSURF = pygame.display.set_mode((400, 300), 0, 32)pygame.display.set_caption('Animation')WHITE = (255, 255, 255)# 加载一个猫的图片,这个后续会讲catImg = pygame.image.load('cat.png')catx = 10caty = 10direction = 'right'while True: # the main game loop DISPLAYSURF.fill(WHITE) if direction == 'right': catx += 5 if catx == 280: direction = 'down' elif direction == 'down': caty += 5 if caty == 220: direction = 'left' elif direction == 'left': catx -= 5 if catx == 10: direction = 'up' elif direction == 'up': caty -= 5 if caty == 10: direction = 'right' # 将图片渲染到窗口上 DISPLAYSURF.blit(catImg, (catx, caty)) for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() # 更新窗口 pygame.display.update() # 每秒多少桢 fpsClock.tick(FPS)

动画每秒的桢数和pygame.time.Clock对象

动画帧率是指我们程序每秒刷新图片的次数,通常被称为FPS。低帧率会让游戏显得很卡,我们一般设置为30即可。

pygame.time.Clock

对象帮助我们指定程序的最大帧率,如果我们不设置这个参数,游戏在一些电脑上会运行过快,导致用户反映不过来。我们调用Clock对象的tick方法来指定游戏帧率。

fpsClock = pygame.time.Clock()fpsClock.tick(FPS)

需要注意的是,

fpsClock.tick(FPS)

方法通常放在我们游戏主循环的最后一句,也就是

pygame.display.update()

的下面。这样,程序在每一次渲染画面的时候会跟进全面渲染画面的时间来调整当前渲染时间。阿达老师-孩子身边的编程专家完整课程请关注阿达老师,主页里有完整的课程目录和观看地址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值