代码之家  ›  专栏  ›  技术社区  ›  Ashish

如何使用Cocos2d显示UIViewController和UIView?

  •  7
  • Ashish  · 技术社区  · 16 年前

    像吼叫-

    @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类。

    2 回复  |  直到 10 年前
        1
  •  20
  •   user2491567 Genericrich    11 年前

    如果您询问如何将UIKit视图等附加到cocos2d iphone项目,您只需按如下方式执行:

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

    更新到Cocos0.7,现在是:

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

    在Cocos 0.99中:

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

    在Cocos 2.0中

    [[[CCDirector sharedDirector] view] addSubview:myView];
    
        2
  •  2
  •   Rog    16 年前

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

    HelloController是一个视图控制器-您不能“显示”它。视图控制器是一个类,它从视图中回复消息并控制从模型中显示的数据。

    FlipView是UIView的一个子类ImageView。要让UIKit呈现此图像,需要使用 [UIView addSubView:...]

    我想你想做的是:

    1. 菜单项接收触摸事件。它发出信号:
    2. 将UIImage添加到主视图

    就像我说的,这是一个非常普遍的问题,我真的认为你应该回到文档中去考虑你的设计。苹果的文档很好,现在市场上有一些不错的iPhone书籍。