Python之Game笔记(3):pygame简单动画的实现

Python之Game笔记(3):pygame简单动画的实现,第1张

1、学习pygame基本框架,简单动画的实现;

   在pygame中引用图像最简单的方法是image函数。下面在马路的实例中,加入一辆团圆顷汽车。首先pygame.image.load()函数从硬盘加载塌陆一个图像,并创建一个名为my_car的对象。这里,my_car是一个surface,不过是存在内存中,并未显示出来,然后用blit(块移)方法将my_car复制到screen表面上,从而显示出来。

   计算机动画实际上就是把图像从一个地方移动到另一个地方,同时几个连接动作交待显示就会产生逼真的效果。

   因此,在做动画中,最基本要考虑的因素主要是三个,

   一是时间,什么时间移动,多长时间变下一个动作,

   二是位置,从什么位腔蔽置到什么位置,

   三是动作,前后两个动作的连续性。

   在这个例子中,因为车是俯视的,所以车轮转动实际是看不到的,所以不用考虑连续动作的变化,而是只考虑车的位置和多长时间移动即可。

   第一步pygame.time.delay()来实现时间延迟;

   第二步利用pygame.draw.rect()把原来位置的图像覆盖掉;

   第三步screen.blit()在新位置引入图像。

   下面的程序实现了汽车从驶入到驶出的过程。

1、网页 https://www.jb51.net/article/64106.htm

这个很简单,首先要安装,命令如下:pip install pygame

然后使用,代码如下:

import pygame

import sys

#初始化

pygame.init()

size=width,height=1000,800

speed=[-5,3]

bg=(0,0,0)

#创建窗口大小

screen=pygame.display.set_mode(size)

#窗口标题

pygame.display.set_caption("跳动的足球缓睁")

#图片

a=pygame.image.load("111.png")

#获得图像滑渗的位置矩形

position =a.get_rect()

while True :

for event in pygame.event.get():

if event.type ==pygame.QUIT:

sys.exit()

#移动信哪脊图像

position=position.move(speed)

if position.left<0 or position.right>width:

#翻转

a=pygame.transform.flip(a,True,False)

#反向移动

speed[0]=-speed[0]

if position.top<0 or position.bottom>height:

speed[1]=-speed[1]

screen.fill(bg)

screen.blit(a,position)

pygame.display.flip()

pygame.time.delay(10)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12223269.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存