在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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)