我想继承 pyglet.window.Window,但是这段代码在 on_draw() 和 on_mouse_pressed() 中抛出了 super 异常
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pyglet
class Window(pyglet.window.Window):
def __init__(self, *arguments, **keywords):
super(Window, self).__init__(*arguments, **keywords)
def on_draw(self):
super(Window, self).on_draw()
self.clear()
def on_key_press(self, symbol, modifiers):
super(Window, self).on_key_press(symbol, modifiers)
if symbol == pyglet.window.key.A:
print "A"
def on_mouse_press(self, x, y, button, modifiers):
super(Window, self).on_mouse_press(x, y, button, modifiers)
if button:
print button
window = Window()
pyglet.app.run()
而这段代码没有。为什么会这样?在 Pyglet 事件中安全使用 super 吗?
pyglet.window.Window 中的默认 on_draw() 调用 flip() 但我无法调用 pyglet.window.Window 的 on_draw() 并且我找不到在 Pyglet 模块中定义 on_draw() 的位置。这是在哪里定义的,为什么我不能用 super 调用 pyglet.window.Window 的 on_draw()?
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pyglet
class Window(pyglet.window.Window):
def __init__(self, *arguments, **keywords):
super(Window, self).__init__(*arguments, **keywords)
def on_draw(self):
self.clear()
def on_key_press(self, symbol, modifiers):
super(Window, self).on_key_press(symbol, modifiers)
if symbol == pyglet.window.key.A:
print "A"
def on_mouse_press(self, x, y, button, modifiers):
if button:
print button
window = Window()
pyglet.app.run()