实例
这里要引入键盘的按键
和事件类型
我们是在按下键盘的时候发生事件,所以是pygame.keydown
import pygame
import sys
# 初始化pygame
pygame.init()
size = width ,height = 900, 500
speed = [-2,1]
bg = (255,255,255)
clock = pygame.time.Clock()
# 创建指定大小的窗口
screen = pygame.display.set_mode(size)
# 设置窗口标题
pygame.display.set_caption("闲得发慌")
# 加载图片
people = pygame.image.load("p.gif")
# 获得图像位置矩形
position = people.get_rect()
# 图片方向
l_head = people
r_head = pygame.transform.flip(people,True,False)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
people = l_head
speed = [-2,0]
if event.key == pygame.K_d:
people = r_head
speed = [2,0]
if event.key == pygame.K_w:
speed = [0,-2]
if event.key == pygame.K_s:
speed = [0,2]
# 移动图像
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()
# 延迟10毫秒
#pygame.time.delay(5)
# 控制帧率
clock.tick(200)
多出来的语句是
# 图片方向
l_head = people
r_head = pygame.transform.flip(people,True,False)
-------------------------------------------------------------------------
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
people = l_head
speed = [-2,0]
if event.key == pygame.K_d:
people = r_head
speed = [2,0]
if event.key == pygame.K_w:
speed = [0,-2]
if event.key == pygame.K_s:
speed = [0,2]
这里的事件类型一定要加pygame
不然会卡死
其次按键也要加pygame
按键