pyglet - 图像上奇怪的灰色边框
pyglet - weird gray border on image
我正在用 pyglet (python 3) 编写一个简单的游戏。我有 this cloud sprite.
然而,当我 blit 它时,它看起来像 this.
灰色边框显然不是故意的,所以我想知道如何修复它。
这就是我用来启用带 alpha 的 blitting 图像的方法:
from pyglet import gl
@window.event
def on_draw():
glEnable(GL_BLEND)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
感谢任何帮助。提前致谢。
我假设您使用的是常规 resource
对象,并且您使用 image.blit(X, Y)
.
将它们一个接一个地传送
这可行,但需要做更多的工作,而且我认为处理时间以及您必须为每个 blit 图像设置和重置 alpha 通道。
但是,如果您使用 sprites,alpha 通道将成为一项自动化功能,您不必为此担心太多。
这个问题解决了,也是long中的一个速度提升器运行:
import pyglet
import pyglet.clock
from pyglet.gl import *
window = pyglet.window.Window()
window.config.alpha_size = 8
bg = pyglet.sprite.Sprite(pyglet.image.load('bg.png'))
cloud = pyglet.sprite.Sprite(pyglet.image.load('cloud.png'))
@window.event
def on_draw():
window.clear()
bg.draw()
cloud.draw()
pyglet.app.run()
我正在用 pyglet (python 3) 编写一个简单的游戏。我有 this cloud sprite.
然而,当我 blit 它时,它看起来像 this.
灰色边框显然不是故意的,所以我想知道如何修复它。
这就是我用来启用带 alpha 的 blitting 图像的方法:
from pyglet import gl
@window.event
def on_draw():
glEnable(GL_BLEND)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
感谢任何帮助。提前致谢。
我假设您使用的是常规 resource
对象,并且您使用 image.blit(X, Y)
.
将它们一个接一个地传送
这可行,但需要做更多的工作,而且我认为处理时间以及您必须为每个 blit 图像设置和重置 alpha 通道。
但是,如果您使用 sprites,alpha 通道将成为一项自动化功能,您不必为此担心太多。
这个问题解决了,也是long中的一个速度提升器运行:
import pyglet
import pyglet.clock
from pyglet.gl import *
window = pyglet.window.Window()
window.config.alpha_size = 8
bg = pyglet.sprite.Sprite(pyglet.image.load('bg.png'))
cloud = pyglet.sprite.Sprite(pyglet.image.load('cloud.png'))
@window.event
def on_draw():
window.clear()
bg.draw()
cloud.draw()
pyglet.app.run()