1

我正在使用 cocos2D-python 并且我正在使用 pyglet.image.load 和 pyglet.resource.image 加载图像,但它仍然在应该是透明的地方添加了一些白色像素。

我以前使用过 pygame,但从未体验过它。

如果重要,我使用paint.net并将图像另存为.png

提前致谢

https://dl.dropboxusercontent.com/u/58141766/white%20pixels%20%3B(.png

4

2 回答 2

1

很明显,因为我想让它像素化,所以决定对它进行 mipmap 或其他什么东西,所以它对它进行了抗锯齿处理。无论如何,我发现这是一个半有效的解决方案:

from pyglet.gl import *
glEnable(GL_TEXTURE_2D)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)

然后一个可行的解决方案是在我每次加载纹理时添加 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST) ,这可能不是最有效的事情,但嗯。

这是我找到它的地方: https ://gamedev.stackexchange.com/questions/20297/how-can-i-resize-pixel-art-in-pyglet-without-making-it-blurry

于 2015-01-08T16:55:17.100 回答
1

只是为了让 Frothiny 的回答更加清晰:

他提到的线条解决了问题,但它们的位置很重要。我能够通过在创建精灵后立即添加 gl 行来修复工作。

例子

# Your imports...
from pyglet.gl import *
# Your program's code...
Sprite('someimage.png')
glEnable(GL_TEXTURE_2D)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)
于 2017-05-26T19:51:21.020 回答