我正在尝试让我的精灵有震撼效果。然而,当精灵确实摇晃时,整个背景变黑。有人可以帮我吗?
这是我编写的代码,用于将精灵添加到我的图层以及我之后运行的动作。
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];
有人能帮助我吗?
答案 0 :(得分:2)
您是否启用了EAGLView的深度缓冲?大多数3D动作都需要深度缓冲(GL_DEPTH_COMPONENT16_OES
或GL_DEPTH_COMPONENT24_OES
)以避免视觉瑕疵。您可能还必须使用带有Alpha通道的32位帧缓冲区,而不是kEAGLColorFormatRGBA8
而不是kEAGLColorFormatRGB565
。
EAGLView在app delegate class中初始化:
EAGLView* glView = [EAGLView viewWithFrame:[window bounds]
pixelFormat:kEAGLColorFormatRGBA8
depthFormat:GL_DEPTH_COMPONENT24_OES
preserveBackbuffer:NO
sharegroup:nil
multiSampling:0
numberOfSamples:0];