Pyglet:Python 游戏与多媒体开发入门
库概述
Pyglet 是一个跨平台的 Python 库,专注于图形用户界面 (GUI)、多媒体应用和游戏开发。它内置了 OpenGL 支持,能够处理音频、视频和图形渲染,非常适合用来构建交互式的桌面应用程序或轻量级 2D 游戏。
安装与第一个窗口
首先通过 pip 安装依赖:
pip install pyglet
下面是一个最基础的示例,展示如何创建一个窗口并显示文本标签。注意代码缩进和事件循环的写法:
import pyglet
window = pyglet.window.Window()
label = pyglet.text.Label(
'Hello, Pyglet!',
font_name='Arial',
font_size=36,
x=window.width // 2,
y=window.height // 2,
anchor_x='center',
anchor_y='center'
)
@window.event
def on_draw():
window.clear()
label.draw()
pyglet.app.run()
这里的关键是 on_draw 装饰器,它定义了每一帧重绘的逻辑。实际运行后,你会看到一个黑色背景上居中显示的白色文字窗口。
核心功能与优势
跨平台支持
Pyglet 原生支持 Windows、macOS 和 Linux,无需修改代码即可在不同操作系统间部署。
多媒体能力
除了绘图,它还提供了完整的音频和视频播放接口。你可以直接加载本地文件进行流式播放,这在制作交互式演示或简单媒体播放器时非常有用。
OpenGL 集成
对于需要高性能渲染的场景,Pyglet 允许直接调用 OpenGL 指令。这意味着你可以在 Python 中绘制复杂的几何体,而无需引入庞大的第三方引擎。
进阶示例:绘图与视频
结合图形绘制和媒体播放,我们可以实现更丰富的效果。下面的代码展示了如何绘制一个四边形并尝试播放视频(需确保路径正确):
import pyglet
# 创建窗口
window = pyglet.window.Window()
# 绘制图形
@window.event
def on_draw():
window.clear()
# 绘制一个四边形
pyglet.graphics.draw(
4, pyglet.gl.GL_QUADS,
('v2i', (50, 50, 150, 50, 150, , , )),
(, (, , , , , , , , , , ))
)
player = pyglet.media.Player()
media = pyglet.media.load()
player.queue(media)
player.play()
pyglet.app.run()

