1

我的精灵的 alpha 通道(有时)掩盖了其他精灵。

这是它的样子: 截屏

如您所见,它不会一直发生,这里的所有头像都使用相同的纹理文件。以前有人遇到过这个问题吗?

顺便说一句,我使用 TexturePacker 导出精灵。我也在使用 Cocos2d 2.0,这就是我初始化它的方式:

CCGLView *glView = [CCGLView viewWithFrame:[window_ bounds] pixelFormat:kEAGLColorFormatRGBA8 depthFormat:GL_DEPTH_COMPONENT24_OES preserveBackbuffer:NO sharegroup:nil multiSampling:NO numberOfSamples:0];
[director_ setProjection:kCCDirectorProjection2D];
[CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA4444];
[CCTexture2D PVRImagesHavePremultipliedAlpha:YES];
4

2 回答 2

0

当您将其加载为测试时,请尝试将您的 CCTexture2DPiexelFormat 设置为更高的规格:

[CCTexture2D setDefaultAlphaPixelFormat:kTexture2DPixelFormat_RGB5A1];

看看有没有帮助?我记得,RGBA4444 的位深度要低得多,但确实提供了改进的性能。

于 2012-09-17T14:50:15.577 回答
0

在尝试了很多不同的事情之后,我发现让它工作的只是在节点上设置着色器程序:

node.shaderProgram = [[CCShaderCache sharedShaderCache] programForKey:kCCShader_PositionTextureColorAlphaTest];

于 2013-02-08T01:13:03.853 回答