1

我正在使用CCUIViewWrapperClass 来添加UIControlCocos2d。

这是我的代码,

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 并将帧缓冲区更改为 32-Bit with alpha,您还可以添加绘制在 cocos2d 视图及其节点后面的 UIKit 视图。

你不能同时在一些 cocos2d 节点前面和其他 cocos2d 节点后面有相同的 UIKit 视图。这根本不可能。例如,这个绘制顺序不能做:

  1. cocos2d 节点(精灵、标签等)
  2. UIKit 视图(按钮、文本字段、表格视图等)
  3. cocos2d 节点(精灵、标签等)

您必须将 cocos2d 视图及其中的所有节点视为一个整体(z 顺序仅影响 cocos2d 节点相对于彼此的绘制方式)。cocos2d 视图可以完全位于 UIkit 视图的前面或后面。

于 2012-12-19T11:37:00.553 回答