2011-11-19 153 views
2

我試圖讓我的精靈有搖動的效果。然而,當精靈動搖時,整個背景變黑。任何人都可以幫助我嗎?CCShaky3D打開背景黑色

下面是我編寫的代碼,將精靈與我之後運行的操作一起添加到我的圖層。

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]; 

有人能幫助我嗎?

回答

2

您是否啓用了EAGLView的深度緩衝?大多數3D動作需要深度緩衝(GL_DEPTH_COMPONENT16_OESGL_DEPTH_COMPONENT24_OES)以避免視覺僞影。您可能還必須使用kEAGLColorFormatRGBA8而不是kEAGLColorFormatRGB565來使用帶alpha通道的32位幀緩衝區。

EAGLView初始化在應用程序委託類:

EAGLView* glView = [EAGLView viewWithFrame:[window bounds] 
           pixelFormat:kEAGLColorFormatRGBA8 
           depthFormat:GL_DEPTH_COMPONENT24_OES 
         preserveBackbuffer:NO 
           sharegroup:nil 
          multiSampling:0 
          numberOfSamples:0]; 
+0

它的工作原理,但它似乎攪亂場景轉換。過渡期間到處都有白色的塊。 – bendu

+0

@ LearnCocos2D我遵照你的建議,這工作正常。我有一些其他相關的問題,我張貼在http://stackoverflow.com/questions/10617219/cocos2d-effects-slow-down-fps-drammatically-and-how-to-initialize-eaglview-prope你可以有看看這個問題? – mm24