如何解决Pyglet blit_into不保留图像尺寸
我正在为Pyglet中的游戏开发照明系统。
我希望屏幕为黑色,但被灯光照亮的部分除外。我打算这样做的方法是创建一个黑色的覆盖层,然后使用blit_into()方法将透明图像着色到覆盖层上,然后“切孔”。
缩放灯光时我遇到问题。出于某种原因,将光线图像遮盖在叠加层上时不会拉伸。相反,他们使用缩放前的大小,并用白色填充剩余的空间。
与预期(右)相比,我得到的(左):
这是我当前的代码:
import pyglet
bg_pattern = pyglet.image.SolidColorImagePattern((128,128,255))
bg = pyglet.image.create(constants.SCREEN_WIDTH,constants.SCREEN_HEIGHT,pattern=bg_pattern)
light = pyglet.resource.image("lights/dimmed.png")
light.width = 200
bg.get_texture().blit_into(light.get_image_data(),100,0)
s = pyglet.sprite.Sprite(img=bg,x=0,y=0)
然后,我仅使用s.draw()将精灵渲染到屏幕上。我需要将图像放在精灵上,因为透明图像会在使图像模糊时变成黑色。
我是否缺少某些东西,或者Pyglet不能按预期工作?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。