在游戏中,能看到的游戏元素大多都是图像
图像文件初始是保存在磁盘上的,如果需要使用,第一步就需要被加载到内存
1)使用pygame.image.load()加载图像的数据;
2)使用 游戏屏幕 对象, 调用blit方法 将图像绘制到指定位置;
3)调用pygame.display.update()方法更新整个屏幕的显示
要想在屏幕上看到绘制的结果,一定要调用pygame.display.update()方法更新
绘制背景图像:
需求:
1)加载背景照片 创建背景;
2)将背景 绘制在屏幕的(0,0)位置
3) 调用屏幕更新显示背景图像
import pygame
pygame.init()
"""
#编写游戏的代码
"""
screen = pygame.display.set_mode((480,700))
bg = pygame.image.load("./images/background.png")
screen.blit(bg,(0,0))
pygame.display.update()
#创建一个无限循环,使得界面停留
while True:
pass
pygame.quit()
绘制英雄图像:
需求:
1)加载图片 创建英雄飞机
2)将英雄飞机绘制在屏幕(200,500)位置
3)调用屏幕更新显示飞机图像
import pygame
pygame.init()
"""
#编写游戏的代码
"""
#创建游戏窗口
screen = pygame.display.set_mode((480,700))
#加载背景图片
bg = pygame.image.load("./images/background.png")
screen.blit(bg,(0,0)) #背景图片位置
pygame.display.update() #刷新屏幕
#加载飞机图片
hero = pygame.image.load("./images/me1.png")
screen.blit(hero,(200,500))
pygame.display.update()
#创建一个无限循环,使得界面停留
while True:
pass
pygame.quit()
运行效果
透明图像:
png格式的图像是支持透明的;
在绘制图像的时候,透明区域不会显示任何内容,但是如果下方已经有内容,会透过透明区域显示出来
对于update()方法的作用:
可以在screen对象完成所有blit方法之后,统一调用一次displag.uodate方法,可以在屏幕上看到最终的绘制效果
使用display.set_mode()创建的screen对象是一个内存中的屏幕数据对象;
screen.blit方法可以在其基础上绘制很多图像
display.update()会使屏幕上的最直接过绘制在屏幕上,这样可以提高屏幕绘制效率,增加游戏的流畅度
import pygame
pygame.init()
"""
#编写游戏的代码
"""
#创建游戏窗口
screen = pygame.display.set_mode((480,700))
#加载背景图片
bg = pygame.image.load("./images/background.png")
screen.blit(bg,(0,0)) #背景图片位置
#pygame.display.update() #刷新屏幕
#加载飞机图片
hero = pygame.image.load("./images/me1.png")
screen.blit(hero,(200,500))
#pygame.display.update()
pygame.display.update()
#创建一个无限循环,使得界面停留
while True:
pass
pygame.quit()