import pygame
import sys
from pygame.locals import *
# 初始化pygame
pygame.init()
# 设置窗口大小
size = widht, height = 800, 600
# 设置移动速度
speed = [-2, 1]
# 颜色使用RGB,当三个数值均为255时为白色,均为0时为黑色
bg = (255, 255, 255)
#设置窗口
screen = pygame.display.set_mode(size)
# 加载图片
cat = pygame.image.load('../image/heiqizhu.jpg')
position = cat.get_rect() # 获取图片矩形区域
while True:
for even in pygame.event.get():
if even.type == QUIT:
pygame.quit()
sys.exit()
# 获取键盘行为
if even.type == KEYDOWN:
if even.key == K_LEFT:
speed = [-4, 0]
if even.key == K_RIGHT:
speed = [4, 0]
if even.key == K_UP:
speed = [0, -2]
if even.key == K_DOWN:
speed = [0, 2]
# 移动图像
position = position.move(speed)
# 判断图像是否到达窗口边缘
if position.left < 0 or position.right > widht:
# 将图像水平翻转,
# pygame.transform.flip(Surface, xbool, ybool)
cat =pygame.transform.flip(cat, True, False)
speed[0] = -speed[0] # 更改水平移动方向
if position.top <0 or position.bottom > height:
speed[1] = -speed[1] # 更改垂直移动方向
screen.fill(bg) # 窗口填充白色
screen.blit(cat, position) # 将图像覆盖到窗口上
pygame.display.update() # 更新窗口
加载的图片是:
最后出来的效果是不在键盘进行任何操作时,罗小黑自行左右上下移动,当使用键盘时,则罗小黑的移动会根据键盘走向移动。