`
shuai1234
  • 浏览: 972557 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

【Cocos2d游戏开发之七】添加/删除系统组件,并解决View设置透明会影响View中的其他组件的问题!

 
阅读更多

好像有段时间没有更新了,主要项目比较着急,不过现在cocos2d基本算是全拿下了,进展很顺利,那么在这里主要给大家介绍下一些Himi遇到的问题;

本章介绍两个知识点:

               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  如下:

 

  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]; 

 

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

为了让大家更好的看出问题,我将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,就到这里,童鞋们,撒乐个油~

 

 

本文出自 “Himi” 博客,请务必保留此出处http://xiaominghimi.blog.51cto.com/2614927/645211

分享到:
评论

相关推荐

    cocos2d添加组件,解决view透明度问题

    xxxxx【Cocos2d游戏开发之七】在cocos2d中添加系统组件,并解决View设置透明会影响View中的其他组件的问题! http://blog.csdn.net/xiaominghimi/article/details/6704898

    cocos2d游戏实例完整代码

    Cocos2d是一款广泛应用于iOS游戏...通过阅读和分析这些代码,你可以逐步理解cocos2d游戏开发的全过程,并为自己的项目打下坚实的基础。记得动手实践,不断调试和改进,理论与实践相结合,才能真正掌握cocos2d游戏开发。

    学习Iphone 和 Ipad cocos2d 游戏开发

    在iOS平台上进行游戏开发,Cocos2d是一个广泛使用的开源框架,特别适合创建2D游戏、演示和其他图形/交互式应用程序。本教程将带你深入学习如何利用Cocos2d为iPhone和iPad构建游戏。 首先,我们需要了解Cocos2d的...

    在IPhone上用Cocos2d做的一个小游戏

    Cocos2d是一款广泛应用于iOS平台上的2D游戏开发引擎,以其高效、易用的特点深受开发者喜爱。本项目以"Hello World"为例,展示了如何在iPhone上利用Cocos2d创建一个简单的小游戏,即忍者投掷飞镖攻击敌人的游戏场景。...

    cocos2d-x-2.0中CCScrollView的使用Demo

    Cocos2d-x是一款流行的开源跨平台2D游戏开发框架,广泛应用于移动设备的游戏开发。在Cocos2d-x 2.0版本中,引入了CCScrollView组件,它为开发者提供了一个灵活、高效的滚动视图解决方案,使得在游戏或应用中实现类似...

    cocos2d-x游戏开发系列教程-坦克大战游戏关卡选择场景的编写中

    在cocos2d-x游戏开发中,坦克大战是一款经典的示例项目,用于教授开发者如何创建一个简单的2D游戏。cocos2d-x是一个基于C++的开源游戏开发框架,广泛应用于移动平台,如iOS、Android和Windows等。在这个系列教程中,...

    cocos2dx用c++实现MoonWarriors

    Cocos2d-x是一个跨平台的2D游戏开发框架,它允许开发者使用C++、Lua或者JavaScript来创建游戏,并能在iOS、Android、Windows等多个平台上运行。本项目是将原本的cocos2d-html5版本的MoonWarriors移植到Cocos2d-x平台...

    cocos2d-lua整合到ios工程

    Cocos2d-x是一个强大的跨平台2D游戏开发框架,而Lua是一种轻量级的脚本语言,易于学习且适合游戏逻辑编写。本文将详细介绍如何将Cocos2d-x Lua项目整合到iOS工程中,以便在iOS应用中运行Cocos2d-x的lua脚本,实现...

    cocos2d 2.0与UIKit结合的例子

    这是一个用Objective-C编写的开源库,专门用于创建2D游戏和互动媒体应用程序。Cocos2d提供了一个强大的绘图系统,支持精灵、层、场景、动作和动画,以及触摸事件处理。而UIKit是Apple的UI框架,包含了许多用于构建...

    IOS应用源码之【游戏】ABC123_使用cocos2d开发的游戏.rar

    在iOS应用开发领域,Cocos2d是一款广泛使用的2D游戏开发框架,它为开发者提供了丰富的功能和强大的性能优化,使得创建高质量的移动游戏变得相对简单。本教程将深入探讨如何使用Cocos2d-iOS开发一款名为“ABC123”的...

    Cocos creator中一些控制人物的移动方式总结.zip

    在Cocos Creator中,控制游戏角色的移动是游戏开发的基础部分,尤其对于2D游戏来说更是至关重要。本总结将深入探讨几种常见的移动控制方式,包括键盘控制、触屏控制和摇杆控制,帮助开发者更好地理解并应用这些技术...

    IOS应用源码之【游戏】Pusher_使用cocos2d.rar

    1. **Cocos2d框架**:Cocos2d是一个开源的2D游戏开发框架,支持多种平台,包括iOS。它提供了丰富的图形渲染、动画、物理模拟、粒子系统、音频处理等功能,简化了游戏开发流程。 2. **Objective-C编程**:由于iOS...

    cocos2dx坦克大战

    Cocos2d-x提供了丰富的功能,如物理模拟、粒子系统、动画支持、纹理管理和场景管理等,非常适合用于开发2D游戏。 ### 坦克大战游戏概述 坦克大战游戏通常是一种策略性射击游戏,玩家需要控制自己的坦克消灭敌方...

    cocos creator 绳子

    Cocos Creator使用了Box2D物理引擎,这是一个广泛用于2D游戏开发的开源库。物理引擎的核心概念包括刚体(RigidBody)、约束(Constraint)和形状(Shape)。在绳子的例子中,刚体将代表绳子的两端,而约束则用来模拟...

    滑动组件-动态添加预制体scrollview

    在Cocos Creator中,滑动组件(Scroll View)是一种常用的游戏UI控件,它允许用户在有限的屏幕区域内浏览和交互大量内容。本教程将详细讲解如何使用Scroll View动态添加预制体,以实现灵活的数据展示和操作。 1. **...

    Cocos2d-x IOS 加载网页

    Cocos2d-x是一款流行的开源游戏开发框架,广泛用于创建2D游戏、演示以及其他的交互式应用程序。在iOS平台上,Cocos2d-x允许开发者利用其丰富的功能来构建游戏,其中包括加载和显示网页内容。本篇文章将深入探讨如何...

    IOS应用源码之【游戏】-BouncingBall1_cocos2d.rar

    Cocos2d是一个广泛使用的开源游戏开发框架,尤其适用于2D游戏。这个项目的源码提供了学习和理解iOS游戏开发的基础,特别是对于使用Cocos2d-x版本的人来说。以下是对这个项目源码中涉及的知识点的详细解释: 1. **...

    游戏开发代码

    游戏开发是计算机科学的一个分支,专注于创建互动性的娱乐体验,而“Cocos2DDemo1”则可能是一个基于Cocos2D引擎的游戏开发示例项目。Cocos2D是一款广泛用于2D游戏、教育软件和图形艺术应用的开源游戏引擎,尤其在...

    水果忍者切西瓜 fruitninja 适配cocos2dx-2.1.2

    Cocos2d-x是一个开源的游戏开发框架,基于C++,并提供Python和Lua等多种语言接口,广泛应用于2D游戏的开发。2.1.2版本是其历史上的一个重要里程碑,具有良好的稳定性和性能。将"水果忍者切西瓜"这样的游戏适配到该...

Global site tag (gtag.js) - Google Analytics