1

私はCocos2dCCUIViewWrapperを追加するためにクラスを使用しています。UIControl

これが私のコードです、

UIView  *view=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];

view.backgroundColor=[UIColor greenColor];

 CCUIViewWrapper *Wrapper = [CCUIViewWrapper wrapperForUIView:view];

 [self addchild:Wrapper];

アフテ私は追加していますCCLabelTTF

CCLabelTTF * label=[CCLabelTTF labelWithString:@"Hi" fontName:@"Marker Felt" fontSize:32];
        label.position=ccp(160,280);
        [self addChild:label];

だから、私の問題は、ラベルが表示されないことです。私もzOrderを変更しようとしています&またしようとしていinsertSubviewatIndexます。

4

1 に答える 1

1

フルスクリーンのUIKitビューを作成すると、cocos2dビューの上に描画されます。そのビューが不透明な場合、cocos2dビューは表示されません。

cocos2dビューを透明(不透明= NO)にし、OpenGLのクリアカラーをalpha = 0に設定し、フレームバッファーをalpha付きの32ビットに変更することで、cocos2dビューとそのノードの背後に描画されるUIKitビューを追加することもできます。

一部のcocos2dノードの前と他のcocos2dノードの後ろの両方で同時に同じUIKitビューを表示することはできません。それは単に不可能です。たとえば、この描画順序は実行できません。

  1. cocos2dノード(スプライト、ラベルなど)
  2. UIKitビュー(ボタン、テキストフィールド、テーブルビューなど)
  3. cocos2dノード(スプライト、ラベルなど)

全体としてすべてのノードを含むcocos2dビューを考慮する必要があります(zの順序は、cocos2dノードが相互にどのように描画されるかにのみ影響します)。cocos2dビューは、UIkitビューの完全に前または完全に後ろに置くことができます。

于 2012-12-19T11:37:00.553 に答える