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)處(位於窗口左下角)。

您可以在此找到該示例的代碼。

捕獲鼠標/鍵盤事件[編輯]