我正在使用 CCUIViewWrapper
类在 Cocos2d 中添加 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
。
最佳答案
如果你创建一个全屏 UIKit View ,它将被绘制在 cocos2d View 之上。如果该 View 不透明,您将看不到任何 cocos2d View 。
通过使 cocos2d View 透明(opaque = NO),将 OpenGL 清晰颜色设置为 alpha = 0 并将帧缓冲区更改为 32 位带 alpha,您还可以添加在 cocos2d View 后面绘制的 UIKit View 及其节点。
您不能同时在某些 cocos2d 节点前面和其他 cocos2d 节点后面有相同的 UIKit View 。这根本不可能。比如这个draw order不能做:
- cocos2d 节点( Sprite 、标签等)
- UIKit View (按钮、文本字段、表格 View 等)
- cocos2d 节点( Sprite 、标签等)
您必须将 cocos2d View 及其中的所有节点视为一个整体(z 顺序仅影响 cocos2d 节点相对于彼此的绘制方式)。 cocos2d View 可以完全位于 UIkit View 的前面或后面。
关于objective-c - CCLabelTTF 没有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13951088/