pygame入门学习(四)位图的使用_win10系统 pygame控制hdmi输出位图
大家好!我是码银🥰
欢迎关注🥰:
CSDN:码银
公众号:码银学编程
载入图片
pygame.image.load( ),Pygame 可以通过pygame.image.load( )函数处理位图文件。
大致可以支持以下文件:JPG、PNG、GIF、BMP、PCX、TGA、TIF、LBM、PBM、PGM、PPM、XPM。
1、加载背景图片主要有两行代码:
asurf = pygame.image.load(\'test.jpg\').convert()screen.blit(asurf, (0, 0))#加载背景图片
下面来看一下这段代码在整体代码中的位置:
import pygamefrom pygame.locals import*import syspygame.init()screen = pygame.display.set_mode((800,600))pygame.display.set_caption(\"图片\")asurf = pygame.image.load(\'test.jpg\').convert()while True: for event in pygame.event.get(): if event.type == QUIT: sys.exit() screen.blit(asurf, (0, 0)) pygame.display.update()
2、背景图片上显示另一幅图片
import pygamefrom pygame.locals import*import syspygame.init()screen = pygame.display.set_mode((751,521))pygame.display.set_caption(\"图片\")asurf = pygame.image.load(\'test.png\').convert()moon = pygame.image.load(\'moon.png\').convert()while True: for event in pygame.event.get(): if event.type == QUIT: sys.exit() screen.blit(asurf, (0, 0)) screen.blit(moon, (100,200)) pygame.display.update()
可以看到背景图是一张“星星”的图片,左下角贴了一张月球的图片。
screen.blit(asurf, (0, 0))
screen.blit(moon, (100,200))
这段代码按照这个顺序,那么月球就会在背景图的上方显示,代码的先后顺序代表着图片的覆盖关系。
下面部分,本想控制月球移动的,但是图片太大,于是随找了一个小的图片进行测试。
控制图片移动
先看代码
import pygameimport sys# 初始化Pygamepygame.init()# 设置窗口大小和标题window_width = 800window_height = 600window_title = \"图片移动示例\"screen = pygame.display.set_mode((window_width, window_height))pygame.display.set_caption(window_title)# 加载图片image_path = \"brick.png\"image = pygame.image.load(image_path)image_rect = image.get_rect()# 设置初始位置image_rect.x = 0image_rect.y = 0# 游戏循环while True: # 处理事件 for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() # 移动图片 keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and image_rect.x > 0: image_rect.x -= 1 if keys[pygame.K_RIGHT] and image_rect.x 0: image_rect.y -= 1 if keys[pygame.K_DOWN] and image_rect.y < window_height - image_rect.height: image_rect.y += 1 # 绘制图片和窗口边界 screen.fill((0, 0, 0)) # 填充背景色为黑色 screen.blit(image, image_rect) # 在指定位置绘制图片 pygame.display.update() # 更新显示内容
如何去控制图片移动,这部分代码是与上一篇文章(pygame学习(三)——支持多种类型的事件-CSDN博客)相结合起来 的,将图片与键盘事件相结合,以此来控制图片的移动。
pygame键盘控制图片移动
image.get_rect()方法
是 Pygame 中的一个方法,用于获取图像的矩形区域。这个矩形区域表示图像在屏幕上的位置和大小。
当你加载一个图像到 Pygame 中时,你可以使用 get_rect()
方法来获取该图像的矩形对象。这个矩形对象具有 x
和 y
属性,分别表示矩形左上角的坐标,以及 width
和 height
属性,分别表示矩形的宽度和高度。
例如上面代码中设置图片的初始位置:
# 设置初始位置image_rect.x = 0image_rect.y = 0
图片移动
# 移动图片keys = pygame.key.get_pressed()if keys[pygame.K_LEFT] and image_rect.x > 0: image_rect.x -= 1if keys[pygame.K_RIGHT] and image_rect.x 0: image_rect.y -= 1if keys[pygame.K_DOWN] and image_rect.y < window_height - image_rect.height: image_rect.y += 1
这段代码是使用Pygame库来控制图片在屏幕上的移动。具体来说,它通过检测用户的键盘输入来移动一个图片对象。以下是这段代码的总结:
-
获取按键状态: 使用
pygame.key.get_pressed()
函数来获取当前所有按键的状态。 -
图片移动逻辑:
- 如果用户按下左键,并且图片的
x
坐标大于0,则将图片的x
坐标减少1,使图片向左移动。 - 如果用户按下右键,并且图片的
x
坐标小于屏幕宽度减去图片宽度,则将图片的x
坐标增加1,使图片向右移动。 - 如果用户按下上键,并且图片的
y
坐标大于0,则将图片的y
坐标减少1,使图片向上移动。 - 如果用户按下下键,并且图片的
y
坐标小于屏幕高度减去图片高度,则将图片的y
坐标增加1,使图片向下移动。
- 如果用户按下左键,并且图片的
既然都看到这里啦,点点赞吧😁,欢迎关注: