文艺小青年 2013-08-28
在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。但感觉比较笨拙,尚未想出新的解决方案。
完毕,特此备忘。
进入场景而且过渡动画结束时候触发。提示 GameScene场景中的继承于节点,这些生命周期事件根本上是从Node继承而来。事实上所有Node对象都有这些事件,具体实现代码与GameScene场景类似。
进入场景而且过渡动画结束时候触发。提示 GameScene场景中的继承于节点,这些生命周期事件根本上是从Node继承而来。事实上所有Node对象都有这些事件,具体实现代码与GameScene场景类似。