在pyGameAricraft项目中, 新建一个main.py文件 ( pycharm项目默认就有 )
这个文件将作为程序入口, 首先在main.py搭建一些基础代码
import pygame #导入pygame模块
pygame.init() #pygame初始化
print("游戏运行中")
pygame.quit() #pygame结束
pygame的init是初始化pygame所有模块, quit是结束程序
矩形类
我们将使用一个大的矩形窗口, 作为游戏的窗口, 宽480, 高700
pygame提供了一个pygame.Rect类用于描述矩形区域
Rect(x, y, width, height) -> Rect
其中坐标原点为x, y, 而宽, 高可以用 size 表示
创建游戏主窗口
pygame有一个 display 模块, 用于创建、管理游戏窗口
pygame.display.set_mode() | 初始化游戏窗口 |
pygame.display.update() | 刷新游戏窗口 |
set_mode方法
set_mode(resolution=(0,0), flags=0, depth=0) -> Surface
参数说明
- resolution指定屏幕的宽和高, 默认大小全屏
- flags参数指定屏幕的附加选项, 可以不传递
- depth参数表示颜色位数, 默认自动匹配
返回值, 可以理解为主窗口对象, 且必须接接收这个实例, 后续还需要操作它
screen = pygame.display.set_mode((480, 700))
此外, 在程序运行期间, 应该是一个循环, 否则窗口一闪而过
while True:
pass
接下来, 我们给窗口绘制背景, 先使用pygame.image.load加载图片, 然后绘制, 刷新
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方法是刷新屏幕, 只需要在显示前刷新一次即可
代码小结
本小节, 修改后的main.py代码如下:
import pygame as pg #导入pygame模块, 简化模块名pg
pg.init() #pygame初始化
#实例化窗口
screen = pg.display.set_mode((480, 700))
#绘制背景
bg = pg.image.load("./images/background.png")
screen.blit(bg, (0,0)) #绘制, 第二个参数是图片位置
#绘制己方飞机
hero = pg.image.load("./images/me1.png")
screen.blit(hero, (200, 500))
pg.display.update() #刷新屏幕
while True:
pass
pg.quit() #pygame结束