Pyglet图像绘制问题
Pyglet image drawing issue
每当我尝试使用 pyglet 在屏幕上绘制图像时,都会发生以下情况:
(原图只是一个红色方块。)
当我拿到我的新电脑时,这种情况就开始发生了,既有新程序,比如这个程序,也有我在旧电脑上编写的程序。我已确保我的图形驱动程序是最新的。
Pyglet 1.5.7,Python 3.8.6。
因为我写的每个程序都会发生这种情况,所以我认为这不是代码的问题,但这是这个特定实例的代码:
import pyglet
from pyglet.window import key
class main(pyglet.window.Window):
def __init__(self):
super(main, self).__init__(500, 500, fullscreen = False)
self.alive = 1
self.batch = pyglet.graphics.Batch()
self.sprite = pyglet.sprite.Sprite(pyglet.image.load('red.png'), batch = self.batch)
def on_close(self):
self.alive = 0
def render(self):
self.clear()
self.batch.draw()
self.flip()
def run(self):
while self.alive == 1:
self.render()
window = main()
window.run()
我卸载了我的图形驱动程序,确保选中“删除此设备的驱动程序软件”,重新启动我的电脑,然后重新安装驱动程序。这解决了我的问题。
每当我尝试使用 pyglet 在屏幕上绘制图像时,都会发生以下情况: (原图只是一个红色方块。)
当我拿到我的新电脑时,这种情况就开始发生了,既有新程序,比如这个程序,也有我在旧电脑上编写的程序。我已确保我的图形驱动程序是最新的。 Pyglet 1.5.7,Python 3.8.6。 因为我写的每个程序都会发生这种情况,所以我认为这不是代码的问题,但这是这个特定实例的代码:
import pyglet
from pyglet.window import key
class main(pyglet.window.Window):
def __init__(self):
super(main, self).__init__(500, 500, fullscreen = False)
self.alive = 1
self.batch = pyglet.graphics.Batch()
self.sprite = pyglet.sprite.Sprite(pyglet.image.load('red.png'), batch = self.batch)
def on_close(self):
self.alive = 0
def render(self):
self.clear()
self.batch.draw()
self.flip()
def run(self):
while self.alive == 1:
self.render()
window = main()
window.run()
我卸载了我的图形驱动程序,确保选中“删除此设备的驱动程序软件”,重新启动我的电脑,然后重新安装驱动程序。这解决了我的问题。