不能在pyglet中绘制()精灵

Sno*_*tal 4 python pyglet sprite draw blit

出于某种原因,我无法得到pyglet来绘制精灵.这是我的代码:

import pyglet

game = pyglet.window.Window(640, 480, "I'm a window")

batch = pyglet.graphics.Batch()

pyglet.resource.path = ["."]
pyglet.resource.reindex()

image = pyglet.resource.image("hextile.png")
pyglet.sprite.Sprite(image, x=200, y=300, batch=batch)
pyglet.text.Label('DING', font_name='Arial', font_size=24, x=100, y=100, batch=batch)

@game.event
def on_draw():

    game.clear()
    batch.draw()
    #image.blit(0, 0)

pyglet.app.run()
Run Code Online (Sandbox Code Playgroud)

现在,当我绘制批处理时,文本标签会正确显示.我在窗户上看到"DING".但是,未显示图像"hextile.png".我尝试独立绘制精灵,但这也不起作用.然而,模糊图像(如注释行中所示)似乎工作得很好,但显然这不是我在此之后的功能.我无法想出这个.我错过了什么?

Eri*_*ric 5

假设您和您的朋友有ATI显卡:

Sprite.draw()在v2i内部使用格式和VertexDomain.draw().由于某种原因,此组合不适用于Windows Vista/7 Catalyst驱动程序11.9及更高版本,因此Sprite绘图也会失败.另请参见:pyglet顶点列表未呈现(AMD驱动程序?)

您可能需要遵循一个pyglet问题:http://code.google.com/p/pyglet/issues/detail? id = 544

您当前的选择似乎是修补pyglet.sprite.Sprite,如第三条评论中提到那个问题或降级您的视频驱动程序.

更新:无需修补Sprite或降级视频驱动程序.Catalyst 12.4(视频驱动程序8.961.0.0)似乎解决了这个问题.