本文内容:
- 创建一个指定大小的游戏窗口
- 设置窗口的名字以及背景图片
创建游戏窗口
在创建一个窗口之前,我们需要做一些初始化工作:
import pygame #导入pygame库
from pygame.locals import * #导入pygame中所有常量
from sys import exit #需要sys中exit()函数,它复制关闭窗口
接着我们就可以初始化pygame模块了:
pygame.init() #初始化pygame模块
接下来,就可以开始程序的编写了,首先,我们使用set_mode()函数来创建一个分辨率为640*480的窗口,并创建screen对象,以便后续我们对该窗口的操作:
screen = pygame.display.set_mode((640,480))
如果此时,我们运行python程序,会发现窗口打开,稍作停留就关闭了,这是因为程序已经运行完了。一个游戏窗口应该是不断循环,直到玩家关闭窗口,所以我们添加循环语句,并检测事件,只有当玩家关闭窗口,才退出游戏,具体代码如下:
while True:
for event in pygame.event.get(): #获取,并判断事件
if event.type == QUIT: #如果获取到QUIT(退出)事件
exit() #退出游戏
当添加好循环结构后,在此运行程序,可以发现弹出一个黑色的窗口,当玩家点击右上角关闭窗口时候,游戏退出:
设置窗口名称和背景图片
设置窗口名称
上述代码没有设置名称,所以是默认的 “pygame window”,我们可以使用以下函数来设置窗口名称为“My Game Window”:
pygame.display.set_caption("My Game Window")
载入背景图片
首先,我们将背景图片拷贝到工程文件中,你也可以通过拖拽的方式,将文件拉移动到工程中,如下图所示,工程添加了一个名为“background_640x480.jpg”(文末提供资源下载)的文件:
我们可以使用pygame模块中image类的load函数来加载背景图片,该函数返回一个Surface对象:
background = pygame.image.load("background_640x480.jpg").convert()`
convert()函数对载入的图片做了转换,是一种优化处理,否则每次显示的时候,系统都需要转换一次。载入图片以后,我们需要填充背景,并显示:
screen.blit(background, (0, 0)) #将background填充到screen中
pygame.display.update() #刷新显示所有数据
blit()第一个参数表示背景图片的左上顶点的坐标,我们保持和窗口一致。
至此,我们完成了创建游戏窗口,设置窗口名称已经载入显示背景图片的操作,来看一下效果:
下面给出完整代码。供参考:
import pygame
from pygame.locals import *
from sys import exit
pygame.init()
screen = pygame.display.set_mode((640,480))
pygame.display.set_caption("My Game Window")
background = pygame.image.load("background_640x480.jpg").convert()
while True:
for event in pygame.event.get():
if event.type == QUIT:
exit()
screen.blit(background, (0, 0))
pygame.display.update()
链接:background_640x480.jpg 提取码:x7kn