淘先锋技术网

首页 1 2 3 4 5 6 7

大家好今天我们开始学习pygame,pygame是python里面最常见的一个2D游戏库,也是非常适合初学者入门,今天我们实现简单的安装以及界面的创建!

pygame简单的介绍:

Pygame是一个开源的Python游戏开发库,提供了一系列游戏编程所需的基本组件和工具,比如图像、声音、事件、碰撞检测等。它建立在SDL库的基础上,让Python程序员更容易地编写2D游戏程序。

pygame官网:点我进入官网(这是pygame的文档说明说)

在这里插入图片描述

大家可以看到,有非常多的模块介绍,包括:颜色模块、显示模块、事件模块、字体模块等等,唯一的小遗憾就是英文的,不过没关系,直接翻译,或者用有道词典截屏翻译,哈哈,只要思想不滑坡,办法总比困难多

安装pygame

pip install pygame

基础用法(简直是备注满满啊):

1、导入模块&模块初始化:

尤其是模块初始化,一般很容易忘记写,一定要记得加上

import pygame

# 初始化Pygame库
pygame.init()

2、设置窗口的宽、高

# 设置窗口尺寸
screen_width = 800
screen_height = 600

3、设置窗口对象

'''
参数:元组:(宽, 高)
'''
# 创建窗口
screen = pygame.display.set_mode((screen_width, screen_height))

4、设置窗口标题

OK,到这里我们暂停一下,我们发现点击运行,会出现一个窗口,一闪而过,那么说明成功一半了!

请添加图片描述

接下来我们继续让窗口保持住,不让他消失!

只要写一个无限循环,在里面加个退出事件就OK啦!!

我一般习惯称之为【主循环】,因为几乎所有的事件代码都写在这个循环里,一般也只有这一个循环

while True:
    for event in pygame.event.get(): # 遍历所有的事件
        if event.type == pygame.QUIT: # 如果事件类型是点击退出
            pygame.quit() # pygame退出
            exit() # 系统退出

到这一步我们的全部代码是:

import pygame

# 初始化Pygame库
pygame.init()

# 设置窗口尺寸
screen_width = 800
screen_height = 600

# 创建窗口
screen = pygame.display.set_mode((screen_width, screen_height))

# 设置窗口标题
pygame.display.set_caption("My Pygame Test")
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            exit()

视频展示

在这里插入图片描述

但是现在窗口黑黢黢的,毫无亮点,我们如何在窗口上加点东西呢!!接着往下看!

我打算写一点字在黑黢黢的窗口上

5、 设置字体样式和大小的对象(还有一种写法:font = pygame.font.Font(“字体路径”, 36))

'''
pygame.font.SysFont("字体样式", 字号)
'''
font = pygame.font.SysFont("Arial", 36)

6、 渲染要显示的文字(上面第5步的字体对象去渲染下面的文本)

'''
font.render("想要显示的文本", True(这里的True表示抗锯齿就是显示的清楚一点), (R, G, B))
'''
text = font.render("Hello, Pygame!", True, (255, 255, 255))

7、贴上去(哈哈,其实按照翻译是传输上去)

下面看一下窗口的坐标图(画的很丑!!哈哈),其实pygame的窗口界面就是平面直角坐标系中的第一象限,只不过,显示在第四象限!

在这里插入图片描述

'''
我们已经将文本渲染好了,那么我们需要将渲染号的文本,贴(传输)在窗口上
x = 横轴坐标
y = 纵轴坐标
'''
x = (screen_width - text.get_width()) // 2 # 这里我们显示居中
y = (screen_height - text.get_height()) // 2 # 这里我们显示居中
screen.blit(text, (x, y)) # 这一行就是我的小标题贴图,翻一下就是将渲染好的文本贴在屏幕中间!

8、刷新屏幕(一般写在主循环里)

完整代码&演示视频

请添加图片描述

import pygame

# 初始化Pygame库
pygame.init()

# 设置窗口尺寸
screen_width = 800
screen_height = 600

# 创建窗口
screen = pygame.display.set_mode((screen_width, screen_height))

# 设置窗口标题
pygame.display.set_caption("My Pygame Test")

# # 设置字体样式和大小
font = pygame.font.SysFont("Arial", 36)
#
# # 渲染要显示的文字
text = font.render("Hello, Pygame!", True, (255, 255, 255))
#
# # 计算文本位置
text_x = (screen_width - text.get_width()) // 2
text_y = (screen_height - text.get_height()) // 2

# 等待用户进行操作
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            exit()
    # 在窗口中心绘制文本
    screen.blit(text, (text_x, text_y))
    # 刷新屏幕
    pygame.display.update()

注意这里的缩进,别写在事件里面

在这里插入图片描述

持续更新中。。。。

希望对大家有帮助

致力于办公自动化的小小程序员一枚#

都看到这了,关注+点赞+收藏=不迷路!!

如果你想知道更多关于Python办公自动化的知识各位大佬给个关注吧!