Iphone CCShaky3D将背景变为黑色
我想让我的雪碧有震动的效果。但是,当精灵抖动时,整个背景变为黑色。有人能帮我吗 下面是我编写的代码,用于将精灵添加到我的图层中,以及随后运行的操作Iphone CCShaky3D将背景变为黑色,iphone,objective-c,cocos2d-iphone,Iphone,Objective C,Cocos2d Iphone,我想让我的雪碧有震动的效果。但是,当精灵抖动时,整个背景变为黑色。有人能帮我吗 下面是我编写的代码,用于将精灵添加到我的图层中,以及随后运行的操作 CCSprite * picture = [CCSprite spriteWithFile:@"picture.png"]; picture.position = ccp(winsize.width/4, picture.contentSize.height * 0.8); [self addChild:
CCSprite * picture = [CCSprite spriteWithFile:@"picture.png"];
picture.position = ccp(winsize.width/4,
picture.contentSize.height * 0.8);
[self addChild:picture];
CCShaky3D * shake = [CCShaky3D actionWithRange:4
shakeZ:NO
grid:ccg(12, 12)
duration:0.5];
[picture runAction:shake];
有人能帮我吗?您启用了EAGLView的深度缓冲吗?大多数3D动作需要深度缓冲(
GL\u depth\u component 16\u OES
或GL\u depth\u component 24\u OES
)以避免视觉伪影。您可能还必须使用带有alpha通道的32位帧缓冲区,方法是使用kEAGLColorFormatRGBA8
而不是kEAGLColorFormatRGB565
EAGLView在应用程序委托类中初始化:
EAGLView* glView = [EAGLView viewWithFrame:[window bounds]
pixelFormat:kEAGLColorFormatRGBA8
depthFormat:GL_DEPTH_COMPONENT24_OES
preserveBackbuffer:NO
sharegroup:nil
multiSampling:0
numberOfSamples:0];
这是可行的,但它似乎扰乱了场景过渡。过渡期间到处都是白色块。@LearnCos2D我已经听从了你的建议,效果很好。我有一些其他相关的问题,我发了帖子,你能看看这个问题吗?