0

私が学んでいる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のコードに触れることを恐れています。

4

1 に答える 1

1

私はWindowsではなくUbuntuを使用していますが、このスレッドの3番目の答えは私にとってはうまくいきました。これは実際にはハードウェアの問題です。/usr/lib/pymodules/python2.7/pyglet/sprite.pyにあるファイルの「v2i」の368行目と372行目で「i」を「f」に置き換えました。次に、保存してコードを実行すると、すべてが機能していました。

于 2012-04-28T22:22:50.447 に答える