问题遇到的现象和发生背景 pommerman occer AttributeError: module 'pyglet.graphics' has no attribute 'OrderedGroup'
操作环境、软件版本等信息 ubuntu20.4 marllib
解决办法:
由于新版的pyglet没有oderedGroup,在操作过程中需要使用旧的版本的pyglet,更换版本即可。
解决办法:
由于新版的pyglet没有oderedGroup,在操作过程中需要使用旧的版本的pyglet,更换版本即可。
望采纳
在新版的 pyglet 中,OrderedGroup 已经被删除。
如果您需要对绘制的图形进行排序,可以使用 pyglet.graphics.Batch 类来实现。该类允许您绘制大量图形,并按指定顺序进行排序。下面是一个简单的例子:
# 创建一个新的 Batch 对象
batch = pyglet.graphics.Batch()
# 绘制一些矩形,并将它们放入 Batch 中
rect1 = batch.add(4, pyglet.gl.GL_QUADS, None,
('v2i', (10, 15, 30, 15, 30, 35, 10, 35)),
('c3B', (0, 0, 255, 0, 255, 0, 255, 0, 0)))
rect2 = batch.add(4, pyglet.gl.GL_QUADS, None,
('v2i', (50, 15, 70, 15, 70, 35, 50, 35)),
('c3B', (255, 0, 0, 0, 255, 0, 0, 0, 255)))
# 绘制 Batch 中的图形
batch.draw()
上例创建了一个新的 Batch 对象,并向其中添加了两个矩形。调用 batch.draw() 方法来绘制 Batch 中的图形。
如果需要对图形进行排序,可以在将图形添加到 Batch 中时为它们指定一个深度值。深度值越小,图形就越靠前;深度值越大,图形就越靠后。例如,要将矩形2放在矩形1前,可以这样指定深度值:
# 将矩形 1 添加到 Batch 中,并为它指定深度值为 0
rect1 = batch.add(4, pyglet.gl.GL_QUADS, None,
('v2i', (10, 15, 30, 15, 30, 35, 10, 35)),
('c3B', (0, 0, 255, 0, 255, 0, 255, 0, 0)),
0)
# 将矩形 2 添加到 Batch 中,并为它指定深度值为 1
rect2 = batch.add(4, pyglet.gl.GL_QUADS, None,
('v2i', (50, 15, 70, 15, 70, 35, 50, 35)),
('c3B', (255, 0, 0, 0, 255, 0, 0, 0, 255)),
1)