博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocos2d: 设置容器透明度及添加UIViewController
阅读量:5987 次
发布时间:2019-06-20

本文共 1652 字,大约阅读时间需要 5 分钟。

  1. 在cocos2d中添加UIViewController:[[[CCDirector sharedDirector] openGLView] addSubview:view.view]; 
  2. 设置容器的透明度而子对象不受影响,修改容器的opacity属性。

首先创建一个cocos2d项目,我这里使用的cocos2d版本为1.0.0

然后创建一个UIViewController类,名字为: MyUIView (这个创建文件步骤就不说啦~)

整个项目目录如下图所示:

 

 

我们先在我们的MyUIView.xib中添加点东西,不然显示出来也不能明显看出;OK,双击 xib文件进入编写(我的xcode是4.1针对lion的版本)

我这里添加了一个View,然后放置了一个button(方便讲解本章的第二个问题)如下图:

 

OK,save下,然后开始编写在cocos2d中显示系统组件的代码:HelloWorldLayout.m  如下:

 

  1. MyUIView *view = [[MyUIView alloc] initWithNibName:@"MyUIView" bundle:nil]; 
  2.         [[[CCDirector sharedDirector] openGLView] addSubview:view.view]; 

 

 

这两句代码位置写在了cocos2d默认给出的场景类中的构造函数里:

 

-(id) init{	if( (self=[super init])) {                MyUIView *view = [[MyUIView alloc] initWithNibName:@"MyUIView" bundle:nil];		[[[CCDirector sharedDirector] openGLView] addSubview:view.view];        	}	return self;}

 

下面运行看效果:

 

 

很简单的,删除代码也easy,如下代码:

 

  1. [self.updateUIView.view removeFromSuperview]; 

这样后还要加上[self.updateUIView.view release];这样才真正的从内存中释放掉~

 

然后下面我们开始讲解本博文的第二点知识点;

为了让大家更好的看出问题,我将button设置一个背景图,然后给装有button的view设置灰色的背景,如下图:

 

OK。现在设置我们要设置view半透明,OK,设置alpha为0.5.然后运行看到的效果图如下:

 

 

这个效果明显不对,因为我们想要的是view半透明,其中的button并不需要透明!!!!!

当时遇到此问题就开始各种尝试,因为当时我的项目有好多view,我尝试过在view添加一张ImageView然后将ImageVIew的图与背景图一样,并设置半透明,但是因为很多个view所以最后失败,然后尝试各种度娘,谷歌等,也去对应的群里问了 都是没有找到解决方法,但是最后终于让我尝试出来解决的方法;

其实view的alpha是针对整个view(包括其中的所有组件)的一个透明度,那么如果只是单纯的修改view的透明,其实只要更改它的opacity属性!

点击你的view然后点击其background属性,然后点击other,如下图:

 

 

 

 

将其下方的opacity属性调整为50%,OK,保存当前xib文件 ,运行项目!效果图如下:

 

 

 

 

这才是应该要的效果,view是50%透明的~组件不受影响;

其实这篇博文讲述的比较简单,属于细节,不过细节决定成败,希望大家遇到类似的细节问题,尽可能的解决不要给自己积累疑问,不然会对后期提高带来极大障碍;

 

转自http://xiaominghimi.blog.51cto.com/2614927/645211

 

转载于:https://www.cnblogs.com/optimus/archive/2012/06/27/2565752.html

你可能感兴趣的文章
ubuntu时区
查看>>
nagios监控服务器的搭建和配置
查看>>
(JavaEE-09)JSP中的MVC与三层架构
查看>>
Go的http包详解
查看>>
win7 去掉桌面快捷方式小箭头
查看>>
Windows Server 2012 从入门到精通系列 之 部署活动目录服务
查看>>
iOS 开发工具
查看>>
解决远程桌面无法连接的问题-总结的精华
查看>>
root账户不能使用密码只能使用密钥远程登陆
查看>>
Maven2的对象模型POM
查看>>
hadoop streaming -archives 解压jar、zip、tar.gz的验证
查看>>
No package mongodb-org available. 问题解决
查看>>
python精简笔记-[5]-列表[list]
查看>>
服务器故障排查的一些可用的命令
查看>>
《head first java》要点
查看>>
hyper-v server 2008 R2与存储兼容性测试
查看>>
sql 查询
查看>>
Linux shell 脚本示例(二)
查看>>
redis未授权访问漏洞利用
查看>>
linux ps 命令详解
查看>>