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イベントで安全に使用できますか?
pyglet.window.Windowのデフォルトのon_draw()はflip()を呼び出しますが、pyglet.window.Windowのon_draw()を呼び出すことができず、on_draw()がPygletモジュールのどこで定義されているかがわかりません。これはどこで定義されており、なぜpyglet.window.Windowのon_draw()を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):
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()