`
yangping_Account
  • 浏览: 192930 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

cocos2d-iPhone中添加/删除UIKit

 
阅读更多

本章介绍两个知识点:

               1. 在Cocos2d中添加系统组件;(本例中添加UIView 并嵌套一些View)

               2. 解决View设置透明后,View中的其他组件也跟着透明的问题;详细问题如下:(网上找的网友的问题贴)

  1. “   如何把背景图片设置为半透明   ”  
  2.   
  3. 现在的界面大概是这样的:最底下一个UIVIEW,这个UIVIEW有一个自己的背景图,  
  4. 然后在这个UIVIEw之上有第二个VIEW,这个VIEW也有一个背景图。  
  5. 现在要达到的效果是使第二个VIEW的图像不会覆盖最底层VIEW的背景图。  
  6. 把上面一层VIEW的ALpha值改小我觉得不行,因为上面一层VIEW里面也有自己各种部件,  
  7. 如果这么改的话,上面一层VIEW里面的所有的元素也会被透明化,但这不是我要的效果。。。  
  8. 透明的仅仅是第二层的背景图。  

 

以上是网友的问题,其实总结起来问题就是咱们今天要讲述的的第二点问题;

OK,首先介绍如何在Cocos2d中添加系统组件;

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

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

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

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

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


MyUIView *view = [[MyUIView alloc] initWithNibName:@"MyUIView" bundle:nil];  

        [[[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!如下代码:


[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%透明的~组件不受影响;


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

OK,就到这里,童鞋们,撒乐个油~

分享到:
评论

相关推荐

    IOS应用源码之cocos2d-iphone-0.7.3.zip

    cocos2d-iphone是一款强大的2D游戏开发框架,专为iOS平台设计,它基于开源的cocos2d-x项目,并针对Objective-C和Apple的UIKit进行了优化。在“cocos2d-iphone-0.7.3.zip”这个压缩包中,我们可以深入学习和理解iOS...

    COCOS2D-X手机游戏开发++跨IOS、ANDROID和沃PHONE平台

    在本文中,我们将深入探讨COCOS2D-X的关键特性、开发流程以及如何在iOS、Android和沃PHONE平台上进行部署。 一、COCOS2D-X框架介绍 COCOS2D-X是基于C++实现的,提供了丰富的API接口,允许开发者使用C++、Lua或...

    iPhone 游戏 开发 引擎 cocos2d 源代码

    这个压缩包中的“cocos2d-iphone-0.8.2”版本,是Cocos2d的一个早期稳定版本,虽然现在已有更新迭代,但其核心概念和设计思路对于理解Cocos2d的工作原理仍然具有很高的学习价值。 Cocos2d引擎主要基于Objective-C...

    iPhone开发基础教程电子书

     接下来,我谈谈学习cocos2d,我觉得最好的资源有两个,就是两个网址:一个是cocos2d官网www.cocos2d-iphone.org,特别是论坛,你学习过程中遇到的任何问题到可以去那里提问。还有一个,就是...

    learn_cocos2d_2

    - **Cocos2d与UIKit的结合**:探讨如何在游戏界面中集成UIKit控件,提升用户体验。 - **Kobold2D简介**:介绍Kobold2D,这是基于Cocos2d的一个扩展框架,提供了更多的功能和便利。 - **非传统游戏开发**:探讨如何...

    cocos2d塔防

    【cocos2d塔防】是一款基于cocos2d框架开发的iOS平台塔防游戏,展示了cocos2d在移动游戏开发中的强大功能。cocos2d是一个开源的游戏开发库,专为创建2D游戏、演示程序和其他图形交互式应用程序而设计。它支持多种...

    知易Cocoa -iPhone开发教程

    Cocos2D-iPhone是Cocos2D的一个分支,专为iOS设备优化,使得开发者可以利用iOS设备的硬件加速功能来提升游戏性能。 本教程可能涵盖了以下核心知识点: 1. **Objective-C基础**:学习Objective-C语法,包括消息传递...

    Cocos2D Development For iOS

    在iOS环境下,Cocos2D与UIKit框架协同工作,可以调用iOS特有的硬件特性,如重力感应、多点触控等。同时,Cocos2D还兼容iPhone和iPad两种设备,能根据屏幕尺寸自动调整布局。 《Learn iPhone and iPad Cocos2D Game ...

    Learn_IPhone_5_and_IPad_2_Cocos2D_Game_Development

    - **Cocos2D与UIKit结合**:第十五章讨论如何在Cocos2D中使用UIKit组件,这对于需要UI交互的游戏非常有用。 - **Kobold2D简介**:第十六章简要介绍了Kobold2D,这是基于Cocos2D的一个分支,具有更多的高级功能。 - *...

    Apress Learn cocos2d game development with iOS 5

    “Cocos2d with UIKit Views”章节探讨了如何结合UIKit视图库来优化游戏的用户界面和用户体验,使游戏更加美观和用户友好。 ### 15. Kobold2D简介:扩展开发工具 “Kobold2D Introduction”章节简要介绍了Kobold2D...

    Learn cocos2d 2.pdf 高清最新原版(ARC)

    - **第十五章:Cocos2d与UIKit结合**:讨论如何在Cocos2d项目中集成UIKit控件,以实现更复杂的应用界面。 - **第十六章:Kobold2D简介**:Kobold2D是基于Cocos2d的一个扩展框架,提供了更多的功能和工具,本章将介绍...

    如何使用cocos2d来制作一个打地鼠的游戏:第一部分

    在Cocos2d中,可以利用锚点和缩放特性来适应不同设备的屏幕尺寸。 #### 游戏设计与开发流程 本教程的第一部分将涵盖以下关键步骤: 1. **资源组织:** 学习如何有效地组织和命名游戏资源,包括图像和音频文件,以...

    Learn cocos2D Game Development with iOS 5

    - 第十五章:cocos2d与UIKit视图,介绍如何将UIKit视图集成到cocos2d项目中。 - 第十六章:Kobold2D简介,探讨另一个游戏开发框架Kobold2D的基础。 - 第十七章:非凡之物,讨论了一些特殊的开发技巧和概念。 在本书...

    iphone 开发设计

    本节将深入探讨iPhone游戏开发设计的核心知识点,包括对象模型、内存管理、界面构建以及Cocos2D-iPhone游戏引擎的使用。 1. **Objective-C语言基础**: - Objective-C是基于C语言的,因此它继承了C的所有特性,如...

    Cocos2D 基础开发

    本章节探讨了如何在Cocos2D项目中使用UIKit来构建更复杂的UI组件,从而提高游戏的用户体验。 #### 第十六章:Kobold2D简介 Kobold2D是一个基于Cocos2D的高级框架,旨在简化2D游戏的开发过程。本章将介绍Kobold2D的...

    Apress.Learn.cocos2d.2.Sep.2012.pdf

    - 讨论如何在Cocos2d中集成UIKit组件,以便于实现更加丰富的用户界面。 - 包括如何使用按钮、文本框等控件。 16. **第16章:Kobold2D介绍** - 简介Kobold2D,这是基于Cocos2d的一个扩展框架,旨在简化2D游戏...

Global site tag (gtag.js) - Google Analytics