我正在使用pyglet实现简单的文本翻译。如果config
中未添加window = pyglet.window.Window()
,则效果非常好。但是,在第8行添加config
后代码才会运行。我正在使用Mac High Sierra。
import pyglet
platform = pyglet.window.get_platform()
display = platform.get_default_display()
screen = display.get_default_screen()
template = pyglet.gl.Config()
config = screen.get_best_config(template)
window = pyglet.window.Window(config=config)
label = pyglet.text.Label('Hello, world', x=window.width//2, y=window.height//2,
anchor_x='center', anchor_y='center')
def update(dt):
#print(dt) # time elapsed since last time we were called
label.x += 1
label.y += 1
@window.event
def on_draw():
window.clear()
label.draw()
pyglet.clock.schedule(update) # cause a timed event as fast as you can!
pyglet.app.run()
答案 0 :(得分:0)
尝试从窗口配置中定义配置,试试这个:
import pyglet
window = pyglet.window.Window()
context = window.context
#config = context.config
platform = pyglet.window.get_platform()
display = platform.get_default_display()
screen = display.get_default_screen()
config = screen.get_best_config()#if you need best config although if you add template as an argument it forms a deadlock.
template = pyglet.gl.Config(config=config)
#config = screen.get_best_config(template)
label = pyglet.text.Label('Hello, world', x=window.width//2, y=window.height//2,
anchor_x='center', anchor_y='center')
def update(dt):
#print(dt) # time elapsed since last time we were called
label.x += 1
label.y += 1
@window.event
def on_draw():
window.clear()
label.draw()
pyglet.clock.schedule(update) # cause a timed event as fast as you can!
pyglet.app.run()