python笔记 pygame图片移动和事件
程序员文章站
2022-04-16 16:17:37
import pygameimport sys# 初始化pygamepygame.init()size = width ,height = 900, 500speed = [-2,1]bg = (255,255,255)# 创建指定大小的窗口screen = pygame.display.set_mode(size)# 设置窗口标题pygame.display.set_caption("闲得发慌")# 加载图片people = pygame.image.load("p.gif...
实列
import pygame
import sys
# 初始化pygame
pygame.init()
size = width ,height = 900, 500
speed = [-2,1]
bg = (255,255,255)
# 创建指定大小的窗口
screen = pygame.display.set_mode(size)
# 设置窗口标题
pygame.display.set_caption("闲得发慌")
# 加载图片
people = pygame.image.load("p.gif")
# 获得图像位置矩形
position = people.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:
# 反转图像
people = pygame.transform.flip(people,True,False)
# 反向移动
speed[0] = -speed[0]
if position.top < 0 or position.bottom > height:
speed[1] = -speed[1]
# 填充背景
screen.fill(bg)
# 更新图像位置
screen.blit(people,position)
# 更新界面
pygame.display.flip()
# 延迟5毫秒
pygame.time.delay(5)
导入sys
用来关闭程序
首先初始化pygame
,使用init
函数
设置参数值bg
背景颜色是按照调色板的RGU调试的
加载图片会返回一个surface
对象,将这个图片搞成一个矩形,方便后面更改位置坐标
图像反转people = pygame.transform.flip(people,True,False)
后面的true
和false
,第一个表示水平翻转,第二个表示竖直反转
关闭程序的原理是基于pygame
是根据事件循环来运行的,使用一次迭代来寻找有没有事件是关闭程序的,如果有就QUIT
我们最后是用time
模块使图片暂停5毫秒来控制速度
当然也可以控制帧率来控制速度
使用time
模块的Clock
对象
首先实例化一个Clock
对象 clock = pygame.time.Clock()
最后控制帧率 clock.tick(200)
事件
本文地址:https://blog.csdn.net/yogur_father/article/details/107425116