创建一个标题为Hello World的窗口,窗口中间显示有Pygame的Logo的python代码

import sys
import pygame

def main():
    pygame.init()
    screen = pygame.display.set_mode((800, 400))
    pygame.display.set_caption("Hello World")
    
    logo = pygame.image.load("pygame.png")
    logo_rect = logo.get_rect()
    logo_rect.center = (400, 200)
    
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
        
        screen.fill((255, 255, 255))
        screen.blit(logo, logo_rect)
        pygame.display.update()

if __name__ == "__main__":
    main()


首先,我们导入了sys和pygame这两个库。sys库用于在程序退出时使用exit()函数,而pygame库是我们使用的游戏开发库。

然后,我们定义了一个名为main()的函数作为程序的主要逻辑。在main()函数中,我们首先调用pygame.init()来初始化Pygame库的相关模块。

接下来,我们使用pygame.display.set_mode((800, 400))函数创建了一个尺寸为800×400像素的游戏窗口,并将返回的窗口对象赋值给screen变量。我们还使用pygame.display.set_caption("Hello World")设置了窗口的标题为"Hello World"。

然后,我们使用pygame.image.load("pygame.png")加载了一个名为"pygame.png"的Logo图片,并将返回的图片对象赋值给logo变量。我们使用logo.get_rect()获取了Logo图片所在的矩形区域,并将返回的矩形对象赋值给logo_rect变量。接着,我们使用logo_rect.center = (400, 200)将Logo图片所在的矩形移动到窗口的中心位置。

在进入游戏循环之前,我们使用while True创建了一个无限循环。在每次循环中,我们使用pygame.event.get()获取消息队列中的所有事件,并使用for循环对每个事件进行处理。在这里,我们判断如果事件类型是pygame.QUIT,即用户关闭了窗口,就调用pygame.quit()和sys.exit()来退出程序。

循环的其余部分用于屏幕的绘制。我们使用screen.fill((255, 255, 255))将屏幕填充为白色,然后使用screen.blit(logo, logo_rect)将Logo图片绘制在屏幕上,绘制的位置是logo_rect所定义的矩形的左上角位置。最后,我们使用pygame.display.update()函数来更新屏幕上的内容,使得所有的绘制操作都能显示在屏幕上。

通过以上代码,我们可以创建一个具有标题为"Hello World"的窗口,窗口中间显示着Pygame的Logo。循环将持续运行,直到用户关闭窗口。

一个Pygame的Hello World示例程序-LMLPHP 

01-10 13:08