Pyglet:Sprite.draw()和Batch.draw()不起作用,但Image.blit可以

时间:2012-04-22 09:31:15

标签: python sprite draw pyglet

在我正在学习的pyglet中,Image.blit()有效,但是Sprite.draw()没有,也没有Batch.draw(),即使是在这个简单的代码中:

import pyglet

win = pyglet.window.Window()

img = pyglet.resource.image('test.png')
spr = pyglet.sprite.Sprite(img)

@win.event
def on_draw():
    win.clear()
    spr.draw()


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

窗口保持黑色。但是,我可以绘制标签。 我发现的唯一解释是关于图形卡和其中一些的“v2i”错误,但是我害怕触摸pyglet的代码而不知道我在做什么。

1 个答案:

答案 0 :(得分:1)

this thread的第三个答案对我有用,即使我使用的是Ubuntu而不是Windows。这实际上是一个硬件问题。我在/usr/lib/pymodules/python2.7/pyglet/sprite.py中找到的文件中,在“v2i”的第368和372行用“f”替换了“i”。然后我保存,运行我的代码,一切正常。