微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pyglet中的命名形状

如何解决pyglet中的命名形状

为什么必须在pyglet中命名形状和其他对象(如在分配的变量中一样)?下面名为“ test”的Rectangle成功呈现,但下面的一行不成功。为什么呢?

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,color=WHITE,batch=background) # Renders successfuly
shapes.Rectangle(300,300,batch=background)        # Does not render


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


pyglet.app.run()

解决方法

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

直接使用pyglet.graphics.draw()函数,通过传入基本类型,矩形坐标和格式字符串,可以直接绘制矩形而不将其分配给变量。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。