Python pyglet中的命名形状

Python pyglet中的命名形状,python,pyglet,Python,Pyglet,为什么pyglet中的形状和其他对象必须命名(如在赋值变量中)?下面名为“test”的矩形渲染成功,下面一行的矩形渲染不成功。为什么呢 from pyglet import shapes WHITE = (255, 255, 255) HEIGHT = 1080 WIDTH = 720 window = pyglet.window.Window(HEIGHT, WIDTH) background = pyglet.graphics.Batch() test = shapes.Rect

为什么pyglet中的形状和其他对象必须命名(如在赋值变量中)?下面名为“test”的矩形渲染成功,下面一行的矩形渲染不成功。为什么呢

from pyglet import shapes

WHITE = (255, 255, 255)

HEIGHT = 1080
WIDTH = 720


window = pyglet.window.Window(HEIGHT, WIDTH)
background = pyglet.graphics.Batch()


test = shapes.Rectangle(200, 200, 50, 50, color=WHITE, batch=background) # Renders successfuly
shapes.Rectangle(300, 300, 50, 50, color=WHITE, batch=background)        # Does not render


@window.event
def on_draw():
    window.clear()
    background.draw()


pyglet.app.run()

这里您使用
pyglet.graphics.Batch()
将图形对象渲染在一起,即测试(第一个矩形)+第二个矩形。批处理管理一组将立即绘制的对象,因此要实例化需要绘制的对象,它们需要有一个参照,可以根据该参照映射到该批处理


要按原样绘制矩形,无需将其指定给变量,可以直接使用
pyglet.graphics.draw()
函数,通过传入基本类型、rectangle坐标和formatstring来完成。

这里使用
pyglet.graphics.Batch()
将形状对象呈现在一起,即test(第一个矩形)+第二个矩形。批处理管理一组将立即绘制的对象,因此要实例化需要绘制的对象,它们需要有一个参照,可以根据该参照映射到该批处理

要按原样绘制矩形,无需将其指定给变量,可以使用
pyglet.graphics.draw()
函数直接绘制矩形,方法是传入基本类型、矩形坐标和formatstring。

最有可能的是,对象只包含a。最有可能的是,对象只包含a。