如何在CCLayer或CCScene中添加UITextView在cocos2d-iphone

问题描述:

我想添加一个指令页面,其中的指令写在UITextView中。如何在Cocos2d中做到这一点。因为这是一个游戏页面,我想要像CCTransitionRadialCCW一样采用cocos2d的菜单事务效果。如何在CCLayer或CCScene中添加UITextView在cocos2d-iphone

我写了这个代码

UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(10,60, 300,360)]; 
textView.backgroundColor = [UIColor clearColor]; 
textView.text = @"I am First enemy"; 
[textView setEditable:NO]; 
[[[CCDirector sharedDirector]openGLView]addSubview:textView]; 

但是有它添加到主CCDirector页,而我写这篇代码

// [[[CCDirector sharedDirector]openGLView]addSubview:textView]; 
// replaced by :- 
[self addChild:textView]; 

它给了我错误的问题。请告诉我如何在CCScene或CCLayer中添加UITextView。

我知道[self addChild:(CCNode *)node];

addChild:方法需要CCNode所以请告诉我如何可以将UITextView对象转换或转换为CCNode。

如果有一些替代选项,请告诉我。像CCLabelTTF是替代UILabel,有替代UITableView在Cocos2d iphone。

在此先感谢

看一看CCTableView:http://www.cocos2d-iphone.org/archives/943

以这种方式组合UIKit和Cocos2D,使得您提到的交错可能非常困难,因为在Cocos2D中完成的所有操作都是在一个OpenGL视图中绘制的。添加UIView时,只能将其添加到Cocos2D视图的前面或后面。

无论您将UIView添加到cocos2d的哪种方式,它都不会被cocos2d转换效果动画,因为简单地说,UIView对象存在于cocos2d使用的OpenGL视图之外(并且在转换的情况下为动画) 。

将UIViews添加到cocos2d视图中,如第一个示例代码所示。但为了将视图定位为节点,您应该考虑使用CCUIViewWrapper