话不多说上代码:
import pygame
import sys
pygame.init()
size = width, height = 900, 700
speed = [-2, 1]
bg = (255, 255, 255) #RGB
screen = pygame.display.set_mode(size)
pygame.display.set_caption("初次见面,多多关照")
plane = pygame.image.load("3.PNG")
position = plane.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:
plane = pygame.transform.flip(plane, True, False)
speed[0] = -speed[0]
if position.top < 0 or position.bottom > height:
speed[1] = -speed[1]
screen.fill(bg)
screen.blit(plane, position)
pygame.display.flip()
pygame.time.delay(10)
这是一个在Python界面上加载一个图片并让其上下左右移动的效果
几点说明:
要让飞机图片在Python界面上移动起来就是:创建窗口->加载图片->捕获位置->移动图片->刷新界面 这个过程,下面就从这个顺序讲起。
1、创建窗口:最初在初始化pygame时我们定义了一个窗口:size = width, height = 900, 700
2、加载图片:在这里我们将选好的飞机图片加载到创建的窗口,注意 图片和保存的PY文件要在同一位置:plane = pygame.image.load("3.PNG")
3、获取位置:position = plane.get_rect()
4、图片移动:position = position.move(speed)
5、界面更新: pygame.display.flip()
注释的代码如下:
import pygame
import sys
# 初始化pygame
pygame.init()
size = width, height = 900, 700
speed = [-2, 1]
bg = (255, 255, 255) #RGB
# 创建指定大小的窗口 Surface
screen = pygame.display.set_mode(size)
# 设置窗口标题
pygame.display.set_caption("初次见面,多多关照")
# 加载图片
plane = pygame.image.load("3.PNG")
# 获得图像位置矩形
position = plane.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:
# 翻转图片
plane = pygame.transform.flip(plane, True, False)
# 反方向移动
speed[0] = -speed[0]
if position.top < 0 or position.bottom > height:
speed[1] = -speed[1]
# 填充背景
screen.fill(bg)
# 更新图像
screen.blit(plane, position)
# 更新界面
pygame.display.flip()
# 延迟10毫秒
pygame.time.delay(10)