簡體   English   中英

這個方法怎么稱呼? (Pyglet)

[英]How is this method called? (Pyglet)

以下代碼是pyglet使用的常用樣式(使用裝飾器)的替代方法。

誰能解釋在這里如何調用on_draw()方法?

import pyglet

class HelloWorldWindow(pyglet.window.Window): 
    def __init__(self):
        super(HelloWorldWindow, self).__init__() 
        self.label = pyglet.text.Label('Hello, world!') 

    def on_draw(self):
        self.clear() 
        self.label.draw() 

if __name__ == '__main__':
    window = HelloWorldWindow() 
    pyglet.app.run()

使用裝飾器編寫的代碼可以在這里找到。

您可以僅瀏覽源代碼以找到答案。

EventLoop類(由pyglet.app.run() )定期分派on_draw事件。

從來源:

調用run開始應用程序事件循環,該循環處理操作系統事件,調用pyglet.clock.tick調用計划的函數以及調用pyglet.window.Window.on_drawpyglet.window.Window.flip來更新窗口內容。

Window類訂閱此事件:

BaseWindow.register_event_type('on_draw')

因此,通過子類化Window ,可以確保調用on_draw方法。

查看編程指南 ,了解pyglet事件系統如何工作的示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM