Cocos2d和UIKit的结合使用
来源:互联网 发布:sql union后字段为空 编辑:程序博客网 时间:2024/06/03 13:25
额,题目写的有点大,其实这篇随笔只是想Mark下Cocos2d中对UIView的使用。
Cocos2d中想使用UIView等UIKit系的控件,最常用常见的方法,就是通过openGLView来做,虽然这个非常简单,还是简述下吧。
比如,现在我想在cocos2d中使用UIImageView这个控件,非常简单,直接上代码。
CGRect frame = [[[CCDirector sharedDirector] openGLView] frame];
_animateImageView = [[UIImageView alloc] initWithFrame:frame];
[[[CCDirector sharedDirector] openGLView] addSubview:_animateImageView];
不用了的时候。
[_animateImageView release];
[_animateImageView removeFromSuperview];
诺,这样呢,有一个问题,使用的UIImageView若不remove掉的话总是显示在最上面,再加个Sprite啥的也加不上去。恰好,这次需要的图比较大(320*480),还想借助UIImageView的动画功能,这下郁闷了。
怎么样才能即能让他顺利展示又能再上面添加Sprite或者CCMenu等呢。
OK, 直接给出解决方案吧。因为一旦采用openGLView addSubView的话肯定是不行的,那一个解决思路是在openGLView下插入一层View, 同时把openGLView设置成透明的,这样不就行了。
代码如下,首先要动的是AppDelegate,在openGLView下加入一层。
//Set glView by wordsworth Mar.26
[glView setMultipleTouchEnabled:YES];
glView.opaque = NO;
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);
//add a view by wordsworth Mar.26, in order to insert another view in MainBoardLayer
overView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
overView.opaque = NO;
overView.backgroundColor = [UIColor clearColor];
[overView addSubview:glView];
[window addSubview:overView];
最后,把我们的ImageView尽情的写入openGLView下面吧,这样在上面加上各种各样的CCSprite、CCMenu等不用担心不显示啦。
AppDelegate * delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.overView insertSubview:_animateImageView belowSubview:[[CCDirector sharedDirector] openGLView]];
其他的UIKit控件也差不多可以按这个套路来了。
- Cocos2d和UIKit的结合使用
- 如何结合使用Cocos2d和UIKit
- Cocos2d 2.0与UIKit结合使用
- Cocos2D-iPhone和Uikit混合使用问题
- iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性。以及手势和动力结合使用的案例
- 解决“UIkit与Vue.js结合使用时,UIkit的图标会显示两个”的问题
- cocos2d 中使用UiKit 各种view
- 怎样在 UIKit 中使用 Cocos2d-x
- UIKit和Cocos2d-x的整合使用;设置CCEAGLView背景为透明,来显示背后的UIView; 以及整合中遇到的问题的解决方案
- UIKit和CoCos2d 两种情况下 Retina模式图片的命名方法区别
- UIKit框架-高级控件:6.UIPickerView与UIImageView结合使用
- UIKit框架-高级控件:8.UIPickerView, UILabel, UIImageView结合使用
- Cocos2d-x 与Cocosbuilder结合使用的一些技巧
- 和cocos2d-x结合的脚本语言:lua and javascript
- cocos2d+uikit常用函数
- UIKit之UITableView的详细使用
- level和 connect by 的结合使用
- find 和 grep 的结合使用
- Cocos2d-x windows + vs2010 配置图文详解
- 那些和JS有关的人呐
- 何去何从?
- Flash/Flex/AIR:Flex简介
- 遍历同级所有子目录并找出所需的文件或文件夹
- Cocos2d和UIKit的结合使用
- SDK和MFC的区别
- 关于java中split的使用
- delegate、Lambda表达式、Func委托和Expression(TDelegate)表达式目录树
- LINUX 指令
- 排列2
- Galaxy S3刷机改内核的流水账(2)
- Log4J 资料(地址转载)
- 我们三十岁以后才明白