cocos2d-x学习之四——如何在cocos2d-x中加入一个UIView
在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。但感觉比较笨拙,尚未想出新的解决方案。
完毕,特此备忘。
相关推荐
Cricket 2020-05-31
woxmh 2019-12-30
CaptainCTR 2019-12-19
86463960 2013-07-15
80487916 2013-07-06
86463960 2013-08-28
BenOnceMore 2013-08-26
89741733 2014-03-20
86201242 2014-05-13
85427010 2014-09-04
文艺小青年 2015-03-26
cooclc 2015-03-26
85427010 2015-05-22
frankwang 2015-05-19
80487916 2015-05-18
进入场景而且过渡动画结束时候触发。提示 GameScene场景中的继承于节点,这些生命周期事件根本上是从Node继承而来。事实上所有Node对象都有这些事件,具体实现代码与GameScene场景类似。
87921036 2015-05-12
85427010 2011-12-31
yizhiyanstart 2011-12-31
oQiXiLaoTou 2012-09-25