1、利用pygame绘制图形窗口
1.1游戏的初始化和退出
使用pygame提供的所有功能之前,需要调用init方法
游戏结束前也需要调用 quit 方法
方法说明
pygame.init()导入并初始化所有pygame模块
pygame.quit()卸载所有pygame模块
1.2游戏中的坐标系
在游戏中,所有可见的元素都是以矩形区域来描述位置的;
pygame.Rect是用于描述矩形区域的
Rect(x, y, width, height)
pygame.Rect比较特殊,内部只是封装了一些数字计算
不执行pygame.init() 方法也同样能够直接调用
1.3创建游戏主窗口
display模块用于创建、管理游戏窗口;
pygame.display.set_mode():初始化游戏显示窗口
pygame.display.update():刷新屏幕内容显示,稍后使用
set_mode方法
set_mode(resolution(0, 0), flags=0, depth=0)
参数说明
resolution
指定屏幕的宽和高,默认创建的窗口大小和屏幕大小一致
flags指定屏幕的附加选项,例如是否需要默认全屏,默认不需要传递
depth
表示颜色的位数,默认自动分配
import pygame # 导入模块 pygame.init() # 游戏初始化 screen =
pygame.display.set_mode((480, 700)) # 创建游戏窗口 while True: # 暂时停止关闭窗口 pass #
pygame.quit(),退出游戏
1.4绘制背景图像
import pygame # 游戏初始化 pygame.init() # 创建游戏窗口 screen =
pygame.display.set_mode((480, 700)) # 绘制背景图像 bg =
pygame.image.load("./images/background.png") # 1)加载图像数据 screen.blit(bg, (0, 0))
# 2)blit绘制图像,后面的坐标代表背景图像在游戏窗口中的位置 pygame.display.update() # 3)update更新屏幕显示
while True: pygame.event.get() # 暂停中止 pygame.quit()
1.5绘制英雄
扩展:
透明图像
png格式的图像是支持透明的;
当透明区域下方有其他内容时,下方的内容会显示出来;
update()方法的作用
* 在screen对象完成所有方法bulit方法后,统一调用一次display.update方法;
* 由display.set_mode方法创建的screen对象是一个内存中的屏幕数据对象;
* display.update()会将最终结果绘制在屏幕上,这样可以提高屏幕绘制效率,增加游戏的流畅度;