2013-02-22 44 views
0

我有一个显示分数和名称的UITableView。我也有动画的对象,在屏幕上移动..但是,他们在tableview下,不管是什么z-index值都不可见。我如何让动画对象在我的UITableView之上? 谢谢..Cocos2D z-index问题与openGLView

回答

0

您必须添加UITableView作为CCDirector的openGLView的子视图。

与对象的所有COCOS2D动画都在openGLView上,这显然低于TableView,所以z索引在这种情况下不会起作用。

您所要做的就是直接在UIWindow上插入UITableView并将其移动到openGLView的下方。您还可以使用:

[<UIWindow> insertSubview:<TableView> belowSubview:<openGLView>]; 

所有你需要做的就是让你openGLView透明,并确保您有添加在CCLayer没有背景图片(否则将覆盖)

这样的问题是锄头,让您的openGLView - 透明

-(void) initGLDefaultValues 
{ 
    // This method SHOULD be called only after openGLView_ was initialized 
    NSAssert(openGLView_, @"openGLView_ must be initialized"); 

    [self setAlphaBlending: YES]; 
    [self setDepthTest: YES]; 
    [self setProjection: CCDirectorProjectionDefault]; 

    // ***** NEW CODE: make open gl view transparent 
    openGLView_.opaque = NO; 
    glClearColor(0.0f, 0.0f, 0.0f, 0.0f); 

    // disable regular, opaque clear color 
    //glClearColor(0.0f, 0.0f, 0.0f, 1.0f); 
     // ***** NEW CODE end 
} 
1

继续之前(山姆·费雪的解决方案可放置下面的cocos2d看法所有的UIKit)记住这一点:

在技术上不可能在cocos2d中有一个UIKit视图,其中cocos2d同时在UIKit视图的前面和后面绘制节点。

换句话说:UIKit视图既可以完全位于所有cocos2d节点的前面,也可以完全位于所有cocos2d节点的后面

原因是cocos2d是从UIKit的角度来看的一个视图。