2013-02-22 60 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的角度來看的一個視圖。