首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS的Cocos2d上屏蔽其他精灵的Alpha通道

在iOS的Cocos2d上屏蔽其他精灵的Alpha通道
EN

Stack Overflow用户
提问于 2012-08-25 06:01:16
回答 2查看 475关注 0票数 1

我的精灵的alpha通道(有时)遮蔽了其他精灵。

它看起来是这样的:

正如你所看到的,这种情况并不总是发生,这里的所有化身都使用相同的纹理文件。以前有没有人遇到过这个问题?

顺便说一句,我使用TexturePacker来导出精灵。另外,我使用的是Cocos2d 2.0,下面是我初始化它的方式:

代码语言:javascript
复制
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];
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-08 09:13:04

在尝试了很多不同的东西后,我发现让它工作的方法很简单,就是在节点上设置着色器程序:

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

票数 0
EN

Stack Overflow用户

发布于 2012-09-17 22:50:16

在将此作为测试加载时,尝试将CCTexture2DPiexelFormat设置为更高的规范:

代码语言:javascript
复制
[CCTexture2D setDefaultAlphaPixelFormat:kTexture2DPixelFormat_RGB5A1];

看看能不能帮上忙?据我所知,RGBA4444的位深度要低得多,但当然也提供了更好的性能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12117197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档