0

スコアと名前を表示する UITableView があります。画面上を移動するアニメーション オブジェクトもあります。ただし、テーブルビューの下に移動し、z-index 値に関係なく表示されません。アニメーション オブジェクトを UITableView の上に移動するにはどうすればよいですか? ありがとう..

4

2 に答える 2

1

続行する前に (samfisher のソリューションはすべての UIKit を cocos2d ビューの下に配置するように機能します)、次の点に注意してください。

cocos2d が UIKit ビューの前後に同時にノードを描画する場合、cocos2d で UIKit ビューを持つことは技術的に不可能です。

つまり、UIKit ビューは、すべての cocos2d ノードの前に完全に配置することも、すべての cocos2d ノードの完全に後ろに配置することもできます

その理由は、cocos2d が UIKit の観点からのビューだからです。

于 2013-02-22T12:36:13.337 に答える
0

CCDirector の openGLView のサブビューとして UITableView を追加しておく必要があります。

オブジェクトを含むすべての COCOS2D アニメーションは、明らかに TableView の下にある openGLView で行われるため、この場合 z インデックスは機能しません。

UITableView を UIWindow に直接挿入し、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
}
于 2013-02-22T07:22:17.370 に答える