【IOS-COCOS2D游戏开发之七】在COCOS2D中添加/删除系统组件,并解决VIEW设置透明会影响VIEW中的其他组件的问题!【11月28日更新解决添加组件COCOS2D动画停止播放的BUG】
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d/455.html
11月28日:———————————
有的童鞋说添加嘞组件(UIScrollView)后操作组件时Cocos2d的动画停止不懂嘞,我测试下,果然是,下面是解决方法:
首先大家在项目中搜索:CCDirectorIOS,找到CCDirectorIOS.m类,然后找到如下代码:
// If you want to attach the opengl view into UIScrollView // uncomment this line to prevent freezing. // It doesnt work on with the Fast Director // [[NSRunLoop currentRunLoop] addTimer:animationTimer
————————–
好像有段时间没有更新了,主要项目比较着急,不过现在cocos2d基本算是全拿下了,进展很顺利,那么在这里主要给大家介绍下一些Himi遇到的问题;
本章介绍两个知识点:
2. 解决View设置透明后,View中的其他组件也跟着透明的问题;详细问题如下:(网上找的网友的问题贴)
现在的界面大概是这样的:最底下一个UIVIEW,这个UIVIEW有一个自己的背景图, 然后在这个UIVIEw之上有第二个VIEW,这个VIEW也有一个背景图。 现在要达到的效果是使第二个VIEW的图像不会覆盖最底层VIEW的背景图。 把上面一层VIEW的ALpha值改小我觉得不行,因为上面一层VIEW里面也有自己各种部件, 如果这么改的话,上面一层VIEW里面的所有的元素也会被透明化,但这不是我要的效果。。。 透明的仅仅是第二层的背景图。
以上是网友的问题,其实总结起来问题就是咱们今天要讲述的的第二点问题;
OK,首先介绍如何在Cocos2d中添加系统组件;
首先创建一个cocos2d项目,我这里使用的cocos2d版本为1.0.0
然后创建一个UIViewController类,名字为: MyUIView (这个创建文件步骤就不说啦~)
整个项目目录如下图所示:
我们先在我们的MyUIView.xib中添加点东西,不然显示出来也不能明显看出;OK,双击 xib文件进入编写(我的xcode是4.1针对lion的版本)
我这里添加了一个View,然后放置了一个button(方便讲解本章的第二个问题)如下图:
OK,save下,然后开始编写在cocos2d中显示系统组件的代码:HelloWorldLayout.m 如下:
这样后还要加上[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%透明的~组件不受影响;
其实这篇博文讲述的比较简单,属于细节,不过细节决定成败,希望大家遇到类似的细节问题,尽可能的解决不要给自己积累疑问,不然会对后期提高带来极大障碍;
OK,就到这里,童鞋们,撒乐个油~
源码下载:”cocos2d添加组件.rar” 下载地址: http://vdisk.weibo.com/s/hq1aq
相关文章
- iOS 小技能: Responder Chain(响应者链)【下篇】
- BurpSuite抓IOS设备HTTPS流量
- 谷歌自研数据中心芯片预计明年下半年量产;Bing即将发布iOS和Android移动版;百度收购GBI,加码AI医疗丨每日大事件
- 微信小程序 CSS border-radius元素 overflow:hidden失效问题 iPhone ios 苹果兼容问题
- iOS无限金币安装包实现
- HBuilder X 连接苹果手机(IOS)详细教程。Windows: 连接iOS手机调试项目
- IOS – OpenGL ES 调节图像阴影 GPUImageHighlightShadowFilter
- iOS上架app store下载步骤
- IOS开发之免费证书+不越狱真机调试
- iOS AppStore上架流程图文详解
- iOS 最新 APP提交上架流程~(打包 ipa)
- 【Flutter】手机应用类型 ( Android | iOS | Native 应用 | Web 应用 | Hybrid 应用 | ReactNative 应用 | Flutter 应用 )
- IOS – OpenGL ES 图像晕影移动 GPUImageVignetteFilter
- 聊聊苹果的Bug - iOS 10 nano_free Crash
- 用windows或linux系统 可以上传ios app到苹果应用商店吗?
- iOS 打包上传-22421错误
- iOS开发中深入理解CADisplayLink和NSTimer详解手机开发
- iOS开发之17个常用代码整理详解手机开发
- iOS通过访问系统通讯录,获取选择用户的全名和电话详解手机开发
- iOS图片自适应屏幕 截取详解手机开发
- iOS开发-友盟分享使用(2)详解手机开发
- iOS开发——高级技术&地图功能的实现详解手机开发
- ios基础:iOS改变状态栏字体颜色详解手机开发
- Linux与iOS之间的技术对比(linux和ios)
- 操作系统开启iOS时代:Linux操作系统的新篇章(ios是linux)
- 苹果奇怪的问题+1:当iOS时区设置为黎巴嫩贝鲁特时闹钟无限崩溃
- Linux下安装iOS:解决方案(linux安装ios)
- iOS访问MySQL数据库的实战技术(ios访问mysql)
- 应用Linux上编译IOS应用:实现跨平台体验(linux编译ios)