Pygame 游戏开发 基础知识

这篇具有很好参考价值的文章主要介绍了Pygame 游戏开发 基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

Pygame 是一个跨平台的 Python 模块, 专为电子游戏设计. Pygame 在已经非常优秀的 SDL 库的基础上增加了许多功能.

Pygame 游戏开发 基础知识

Pygame 的安装

安装命令:

pip install pygame

导入 Pygame 包:

import pygame

Pygame 游戏开发 基础知识

Pygame 基础命令

pygame.locals 模块

pygame.locals模块包括了 pygame 中定义的各种常量.

导入所有常量

from pygame.locals import *

pygame.init()

pygame.init()是启动 pygame 并初始化的命令, 类似 python 中的__init__.

例子:

# 导入模块
import pygame

# 初始化 pygame
pygame.init()

pygame.display.set_mode()

pygame.display.set_mode()是初始化 pygame 窗口的命令.

格式:

pygame.display.set_mode(size=(0, 0), flags=0, depth=0, display=0, vsync=0)

参数:

  • size: 窗口大小 (分辨率), 类型为元组, 分别表示宽和高
  • flags: 额外参数
  • depth: 位深 (色彩深度)
  • display: 显示模式, 可以使用 & 或 | 一次设置 2 种模式
    • pygame.FULLSCREEN: 全屏
    • pygame.DOUBLEBUF: OPENGL 兼容
    • pygame.HWSURFACE: 硬件加速
    • pygame.OPENGL: 可使用 OpenGl 的显示
    • pygame.RESIZABLE: 可调整大小的显示
    • pygame.SCALED: 适应电脑屏幕大小
    • pygame.SHOWN: 可视 (默认)
    • pygame.HIDDEN: 隐藏

例子:

# 显示一个分辨率 600*400 的窗口
screen = pygame.display.set_mode((600, 400))

Pygame 游戏开发 基础知识

案例

import pygame
import sys

# 导入pygame中的常量
from pygame.locals import *

# 初始化pygame
pygame.init()

# 设置游戏窗口的尺寸, set_mode 函数的参数用元组表示尺寸 (width和height)
pygame.display.set_mode((600, 600))

# 捕获游戏的事件
typelist = [QUIT]

while True:
    # 获取事件
    for event in pygame.event.get():
        # 接收到退出事件, 退出程序
        if event.type in typelist:
            sys.exit()  # 退出

Pygame 显示文字

pygame.font.Font()

pygame.font.Font()可以帮助我们来设置字体和字体大小.

格式:

pygame.font.Font(filename, size)

参数:

  • filename: 字体文件路径
  • size: 字体大小

例子:

# 设置字体和字号
myFont = pygame.font.Font(None, 60)

fill()

screen.fill()用于填充 pygame 窗口背景色的命令.

格式:

screen.fill(color, rect=None, special_flags=0)

参数:

  • color: 背景的颜色, RGB
  • rect: 颜色填充的范围
  • special_flags: 额外参数

例子:

screen.fill((0, 0, 200)

render()

Font.render()用于创建文本并转换为图像.

格式:

Font.render(text, antialias, color, background=None)

参数:

  • text: 文字
  • antialias: 反锯齿, True / False
  • color: 颜色, 格式 RGB
  • background: 背景颜色, 默认为 None

例子:

textImage = myFont.render("Hello Pygame", True, (255, 255, 0)

blit()

screen.blit()用于将图像显示到我们要显示的地方.

格式:

screen.blit(source, dest, area=None, special_flags=0)

参数:

  • source: 需要移动的表面 (图像)
  • dest: 目标位置, 类型元组
  • area: 显示面积, 默认为 None
  • special_flags: 额外参数

例子:

screen.blit(textImage, (10, 60))

pygame.display.update()

pygame.display.update()用于更新显示.

案例

显示英文

代码:

import pygame
from pygame.locals import *
import sys

yellow = (255, 255, 0)  # 文字颜色
blue = (0, 0, 200)  # 背景颜色

# 初始化 pygame
pygame.init()

# 设置窗口尺寸
screen = pygame.display.set_mode((600, 400))

# 设置字体和字号
myFont = pygame.font.Font(None, 60)

# 将文字转换为图像, 消除锯齿
textImage = myFont.render("Hello Pygame", True, yellow)

# 填充背景
screen.fill(blue)

# 显示文字
screen.blit(textImage, (10, 60))

# 更新显示
pygame.display.update()

# 捕获游戏事件
typelist = [QUIT]

while True:
    # 获取事件
    for event in pygame.event.get():
        # 接收到退出事件, 退出程序
        if event.type in typelist:
            sys.exit()  # 退出

输出结果:
Pygame 游戏开发 基础知识

显示中文

代码:

import pygame
from pygame.locals import *
import sys

yellow = (255, 255, 0)  # 文字颜色
blue = (0, 0, 200)  # 背景颜色

# 初始化 pygame
pygame.init()

# 设置窗口尺寸
screen = pygame.display.set_mode((600, 400))

# 设置字体和字号 (仿宋)
myFont = pygame.font.Font("C:\Windows\Fonts\simfang.ttf", 60)

# 将文字转换为图像, 消除锯齿
textImage = myFont.render("你好 Pygame", True, yellow)

# 填充背景
screen.fill(blue)

# 显示文字
screen.blit(textImage, (10, 60))

# 更新显示
pygame.display.update()

# 捕获游戏事件
typelist = [QUIT]

while True:
    # 获取事件
    for event in pygame.event.get():
        # 接收到退出事件, 退出程序
        if event.type in typelist:
            sys.exit()  # 退出

输出结果:

Pygame 游戏开发 基础知识文章来源地址https://www.toymoban.com/news/detail-424523.html

到了这里,关于Pygame 游戏开发 基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis基础知识概述

    一、Redis简介 1、Redis(Remote Dictionary Server 远程字段服务)是一个开源的使用ANSI C语言编写、支持网络、科技与内存亦可持久化的日志型、key-value数据库,并提供多种语言的API。 2、Redis是一个key-value存储系统,它支持存储的value类型相对更多,包括string、list、set、zset(sorted

    2024年02月02日
    浏览(44)
  • [C++]C++基础知识概述

      目录 C++基础知识概述::                                    1.什么是C++                                    2.C++发展史                                         3.C++                                    4.命名空间                              

    2023年04月16日
    浏览(52)
  • 数据结构基础知识、名词概述

    整体知识框架 1.1.1 数据、 数据元素、 数据项和数据对象 数据 (Data) 是客观事物的符号表示,是所有 能输入到计算机中并被计算机程序处理的符号 的总称 。如数学计算中用到的整数和实数,文本编辑中用到的字符串,多媒体程序处理的图形、 图像、声音及动画等通过特殊编

    2024年02月15日
    浏览(53)
  • 区块链基础知识1:定义、原理及概述

    随着数字经济的快速发展,区块链技术逐渐崭露头角,成为推动各行各业数字化转型的重要力量。本文旨在介绍区块链的基础知识,包括其定义、原理以及应用领域,以期为读者提供一个全面而深入的了解。 区块链是一种基于去中心化、分布式、不可篡改的数据存储结构。它

    2024年04月27日
    浏览(46)
  • uniapp快速入门系列(1)- 概述与基础知识

    1.1.1 什么是uniapp? uniapp是一款基于Vue.js框架的跨平台应用开发框架,它可以让开发者使用一套代码,同时构建多个平台(包括但不限于微信小程序、支付宝小程序、抖音小程序等)的应用程序。 在过去,我们可能需要分别使用不同的技术和工具来开发不同平台的应用,但是

    2024年02月07日
    浏览(53)
  • 第1篇 目标检测概述 —(1)目标检测基础知识

    前言: Hello大家好,我是小哥谈。 目标检测是计算机视觉领域中的一项任务,旨在自动识别和定位图像或视频中的特定目标,目标可以是人、车辆、动物、物体等。目标检测的目标是从输入图像中确定目标的位置,并使用边界框将其标记出来。🎉为了让大家能够牢固地掌握

    2024年02月07日
    浏览(60)
  • MySQL 基础知识(一)之数据库和 SQL 概述

    目录 1 数据库相关概念 2 数据库的结构 ​3 SQL 概要 4 SQL 的基本书写规则 1 数据库相关概念 数据库是将大量的数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合 数据库管理系统(DBMS)是用来管理数据库的计算机系统,通过使用 DBMS,多个用户可以安全、简单

    2024年02月20日
    浏览(52)
  • Python -- 利用pygame库进行游戏开发基础

            Pygame是一个基于Python的游戏开发库,它提供了一系列的工具和接口,使开发人员能够轻松地创建各种类型的游戏,包括2D游戏和简单的3D游戏,主要是为了开发2D游戏而生。具有免费、开源,支持多种操作系统,具有良好的跨平台性等优点。 在开始学习Pygame之前,您

    2024年01月22日
    浏览(61)
  • 【python】之pygame模块,游戏开发【基础篇】

    什么是pygame? Pygame 是一个专门用来开发游戏的 Python 模块,主要为开发、设计 2D 电子游戏而生,具有免费、开源,支持多种操作系统,具有良好的跨平台性等优点。它提供了诸多操作模块,比如图像模块(image)、声音模块(mixer)、输入/输出(鼠标、键盘、显示屏)模块等

    2024年02月08日
    浏览(59)
  • Python -- 利用pygame库进行游戏开发基础(二)

    1、pygame的窗口创建         这段代码生成了一个窗口导入pygame模块和sys模块,这两个模块准备后续开发所需的命令以及作用,进行pygame的初始化,而后上设置窗口大小,创建窗口,而后进入循环确保窗口持续显示,再判断是否有退出事件,有则退出程序,再退出pygame,清空

    2024年02月19日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包