在cocos2d-x中加入一个UIView,步骤如下:
1.在CCEGLView.h中添加代码
- void addSubView(void* uiView);
在CCEGLView.mm中实现
- void CCEGLView::addSubView(void* uiView)
- {
- [[EAGLView sharedEGLView] addSubview:(UIView*)uiView];
- }
2.在需要调用的地方如下调用
- float screenWidth = CCDirector::sharedDirector()->getWinSize().width;
- float screenHeight = CCDirector::sharedDirector()->getWinSize().height;
- CGRect frame;
- frame.origin.x = 0;
- frame.origin.y = 0;
- frame.size.width = screenWidth;
- frame.size.height = screenHeight;
- UIView *view = [[UIView alloc] initWithFrame:frame];
- [view setUserInteractionEnabled:NO];
- CCDirector::sharedDirector()->getOpenGLView()->addSubView(view);
- [MBProgressHUD showHUDAddedTo:view animated:YES];//MBProgressHUD为开源的等待提示框
3.移除UIView只需要调用
- [view removeFromSuperview];
- [view dealloc];
这样添加UIView,有一个问题就是,透过该UIView还可以点击下方cocos2d-x的按钮,设想的一个解决方式是,先添加一层屏蔽点击的CCLayer,然后再添加UIView。但感觉比较笨拙,尚未想出新的解决方案。
完毕,特此备忘。
转自:http://bit6211.iteye.com/blog/1932057