Pyglet/编写一个Pyglet应用
外观
< Pyglet
从头开始学习一个开发框架的用法可能是最难的,尤其是需要阅读大量参考资料的时候。这一章节能令您快速认识Pyglet,但讲的并不深入。
Hello, World
[编辑]我们先从简单的Hello, World
程序开始。它会打开一个窗口,显示一些文字,然后等待您关闭它。您可以在这里找到整个程序文件。
首先,您得导入Pyglet包:
import pyglet
使用pyglet.window.Window
创建一个窗口,它会立马显示在屏幕上:
window = pyglet.window.Window(caption="Hello, World")
要想显示一些文字,我们需要一个Label
对象。这里的关键字参数设置了标签的字体、大小、位置以及对齐方式:
label = pyglet.text.Label('Hello, world', font_name='Times New Roman', font_size=36, x=window.width / 2, y=window.height / 2, anchor_x='center', anchor_y='center')
一个on_draw()
被添加到窗口,让它可以重绘窗口中的内容。Pyglet提供了很多种方法将事件处理程序添加到对象,最简单的例子就是使用装饰器:
@window.event
def on_draw():
window.clear()
label.draw()
在上述的on_draw()
中:窗口被清空,且设置为了黑色,然后标签会被绘制。
最后,调用:
pyglet.app.run()
这会进入到Pyglet默认的事件循环中,让Pyglet响应鼠标、键盘等事件;也会按需调用您自定义的事件。
图像浏览器
[编辑]很多游戏和应用都需要加载和显示图像。在这个例子中,我们会从运行目录里加载一张图片并在窗口上显示:
import pyglet
window = pyglet.window.Window()
image = pyglet.resource.image('kitten.jpg')
@window.event
def on_draw():
window.clear()
image.blit(0, 0)
pyglet.app.run()
我们使用pyglet.resource
中的函数image
来导入图像。当然,您也可以选择pyglet.image.load
。
方法blit
用来绘制图像,参数
(0, 0)
通知Pyglet将图像绘制在窗口坐标 (0, 0)处(位于窗口左下角)。
您可以在此找到该示例的代码。