pygame 学习笔记(5)创建游戏窗口

本文内容:

  • 创建一个指定大小的游戏窗口
  • 设置窗口的名字以及背景图片

创建游戏窗口

在创建一个窗口之前,我们需要做一些初始化工作:

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 学习笔记(5)创建游戏窗口_第1张图片

设置窗口名称和背景图片

设置窗口名称

上述代码没有设置名称,所以是默认的 “pygame window”,我们可以使用以下函数来设置窗口名称为“My Game Window”:

pygame.display.set_caption("My Game Window")

载入背景图片

首先,我们将背景图片拷贝到工程文件中,你也可以通过拖拽的方式,将文件拉移动到工程中,如下图所示,工程添加了一个名为“background_640x480.jpg”(文末提供资源下载)的文件:
pygame 学习笔记(5)创建游戏窗口_第2张图片
我们可以使用pygame模块中image类的load函数来加载背景图片,该函数返回一个Surface对象:

background = pygame.image.load("background_640x480.jpg").convert()` 

convert()函数对载入的图片做了转换,是一种优化处理,否则每次显示的时候,系统都需要转换一次。载入图片以后,我们需要填充背景,并显示:

screen.blit(background, (0, 0))                     #将background填充到screen中
pygame.display.update()               	            #刷新显示所有数据

blit()第一个参数表示背景图片的左上顶点的坐标,我们保持和窗口一致。
至此,我们完成了创建游戏窗口,设置窗口名称已经载入显示背景图片的操作,来看一下效果:pygame 学习笔记(5)创建游戏窗口_第3张图片
下面给出完整代码。供参考:


    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

你可能感兴趣的:(#,pygame)