我想添加一个指令页面,其中的指令用UITextView编写。如何在Cocos2d中完成。因为这是一个游戏页面,我想采取cocos2d的菜单交易效果,如CCTransitionRadialCCW。
我写了这段代码
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,Cocos2d-iphone中的UITableView是否有替代。
提前致谢
答案 0 :(得分:1)
查看CCTableView:http://www.cocos2d-iphone.org/archives/943。
以你提到的交错方式组合UIKit和Cocos2D可能非常困难,因为在Cocos2D中完成的所有内容都是在一个OpenGL视图中绘制的。添加UIView时,只能在Cocos2D视图的前面或后面添加它。
答案 1 :(得分:0)
无论你将哪个UIView添加到cocos2d,它都不会被cocos2d转换效果动画化,因为简单地说UIView对象存在于cocos2d使用的OpenGL视图之外(并且在转换的情况下为动画)。
在第一个示例代码中添加UIViews到cocos2d视图是正确的。但是为了将视图定位为节点,您应该考虑使用CCUIViewWrapper。