【问题标题】:How to add UITextView in CCLayer or CCScene in cocos2d-iphonecocos2d-iphone如何在CCLayer或CCScene中添加UITextView
【发布时间】:2011-12-13 21:21:33
【问题描述】:

我想添加一个指令页面,其中的指令是用 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 的替代品。

提前致谢

【问题讨论】:

    标签: iphone ios cocos2d-iphone


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      在您的第一个示例代码中将 UIViews 添加到 cocos2d 视图是正确的。但是为了像节点一样定位视图,您应该考虑使用CCUIViewWrapper

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多