如何在cocos2d-x中加入一个UIView

在cocos2d-x中加入一个UIView,步骤如下:

1.在CCEGLView.h中添加代码

Cpp代码
  1. voidaddSubView(void*uiView);

在CCEGLView.mm中实现

voidCCEGLView::addSubView(void*uiView)
  • {
  • [[EAGLViewsharedEGLView]addSubview:(UIView*)uiView];
  • }
  • 2.在需要调用的地方如下调用

    floatscreenWidth=CCDirector::sharedDirector()->getWinSize().width;
  • floatscreenHeight=CCDirector::sharedDirector()->getWinSize().height;
  • CGRectframe;
  • frame.origin.x=0;
  • frame.origin.y=0;
  • frame.size.width=screenWidth;
  • frame.size.height=screenHeight;
  • UIView*view=[[UIViewalloc]initWithFrame:frame];
  • [viewsetUserInteractionEnabled:NO];
  • CCDirector::sharedDirector()->getOpenGLView()->addSubView(view);
  • [MBProgressHUDshowHUDAddedTo:viewanimated:YES];//MBProgressHUD为开源的等待提示框
  • 3.移除UIView只需要调用

    [viewremoveFromSuperview];
  • [viewdealloc];
  • 这样添加UIView,有一个问题就是,透过该UIView还可以点击下方cocos2d-x的按钮,设想的一个解决方式是,先添加一层屏蔽点击的CCLayer,然后再添加UIView。但感觉比较笨拙,尚未想出新的解决方案。

    完毕,特此备忘。


    转自:http://bit6211.iteye.com/blog/1932057

    相关文章

        本文实践自 RayWenderlich、Ali Hafizji 的文章《...
    Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
    第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
        Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
    1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
       Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...