在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。但感觉比较笨拙,尚未想出新的解决方案。
完毕,特此备忘。
本文介绍了如何在cocos2d-x中集成UIView,并通过添加屏蔽点击的CCLayer来解决点击问题。此外,文章还提供了一个改进方案,以减少UIView对cocos2d-x按钮的误触。最后,讨论了添加和移除UIView的代码实现和注意事项。
3050

被折叠的 条评论
为什么被折叠?



