图像上奇怪的灰色边框

2024-04-25 22:58:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用pyglet(python3)编写一个简单的游戏。我有this cloud sprite.

但是,当我打开它时,它看起来像this.

灰色的边界显然不是故意的,所以我想知道如何修复它。你知道吗

这是我用来启用alpha的blitting图像:

from pyglet import gl    

@window.event
def on_draw():
    glEnable(GL_BLEND)
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)

感谢您的帮助。提前谢谢。你知道吗


Tags: from图像alphasrccloud游戏thispython3
1条回答
网友
1楼 · 发布于 2024-04-25 22:58:47

我假设您使用的是常规的resource对象,并且您正在使用image.blit(X, Y)一个接一个地对它们进行blitting。
这是可行的,但需要更多的工作,我认为处理时间,以及你必须设置和重置每个图像你blit阿尔法通道。你知道吗

然而,如果你使用精灵阿尔法通道成为一个自动化的功能,你不必担心太多。你知道吗

这就解决了问题,而且从长远来看,这也是一种提速剂:

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()

相关问题 更多 >