【问题标题】:How we can show UIViewController and UIView by using Cocos2d?我们如何使用 Cocos2d 显示 UIViewController 和 UIView?
【发布时间】:2009-02-03 10:48:51
【问题描述】:

我正在尝试使用 Cocos2d 构建一个 iPhone 应用程序。但是我使用了四种类型的类 像下面这样-

@interface MenuScene : Scene {}

@end
@interface FlipView : UIImageView
{
    CGPoint startTouchPosition;
    NSString *dirString;
    UIImageView *firstPieceView;   
    UIImageView *secondPieceView;

}
@end

@interface HelloController : UIViewController
@end


@interface MenuLayer: Layer{
        Todo *todo;
        Menu * menu;
        sqlite3 *database;
        NSMutableArray *todos;
    NSString *dirString;
    CGPoint startTouchPosition;
}
@property (nonatomic, retain) NSMutableArray *todos;
-(void) button1: (id)sender;
-(void) button2: (id)sender;
-(void) black_jack: (id)sender;
@end

但是如何通过 MenuLayer 类显示 FlipView 和 HelloController 类。

【问题讨论】:

    标签: iphone objective-c cocos2d-iphone


    【解决方案1】:

    如果您要问如何将 UIKit 视图等附加到 cocos2d-iphone 项目,您只需这样做:

    [[[Director sharedDirector] window] addSubview:myView];
    

    更新到 cocos 0.7,现在是:

    [[[Director sharedDirector] openGLView] addSubview:myView];
    

    在 Cocos 0.99 中:

    [[[CCDirector sharedDirector] openGLView] addSubview:myView];
    

    在 Cocos 2.0 中

    [[[CCDirector sharedDirector] view] addSubview:myView];
    

    【讨论】:

    • 我应该怎么做才能删除myView。当我在当前场景中按下按钮时,我会移动到下一个场景。但是,添加的 myView 仍然出现在该场景中。谢谢。
    • 对不起,我在问之前没有好好检查。我得到了它。我在按钮的选择器中添加了以下代码。 for (id sv in subviews) { [((UIView *)sv) removeFromSuperview]; [sv 发布]; }
    • 还有一个问题。是否可以从笔尖唤醒 UIView?
    • 目前版本 2 [[[CCDirector sharedDirector] view] addSubview:myView];
    【解决方案2】:

    仅从代码中很难回答这个问题,但我认为你需要回去阅读一些关于 UIKit 设计和 cocos2d 编程的知识。

    HelloController 是一个视图控制器——你不能“显示”它。视图控制器是一个类,它响应来自视图的消息并控制它从模型中显示的数据。

    FlipView 是一个 ImageView,它是 UIView 的子类。要让 UIKit 渲染此图像,您需要使用 [UIView addSubView:...] 将其添加到另一个视图中

    这就是我认为你想做的事情:

    1. 菜单项接收触摸事件。它发出以下信号:
    2. 视图控制器
    3. 将 UIImage 添加到主视图中

    正如我所说,这是一个非常笼统的问题,我真的认为您应该回到文档并考虑您的设计。 Apple 文档很好,现在市场上有一些不错的 iPhone 书籍。

    【讨论】:

      猜你喜欢
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-14
      • 2017-08-03
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      相关资源
      最近更新 更多