`

【2.0版本cocos2d-iphone 开发之CCProgressTimer制作游戏中的血条】

阅读更多

作者:zhangxinlin

转载请注明,原文链接:http://blog.csdn.net/zhang429350061/article/details/8275225

 

第一次写博客,最近在学习和同僚们的交流过程中整理了一些cocos2d的知识,放在博客里和大家学习交流。希望大牛们多给指导意见,共同进步。

1.首先说一下cocos2d中1.0版本和2.0版本中关于CCProgressTimer的不同之处。在1.0版本里面有许多进度条的样式,

比如:

kCCProgressTimerTypeRadialCCW, 扇形逆时针形式

kCCProgressTimerTypeRadialCW, 扇形顺时针形式

kCCProgressTimerTypeHorizontalBarLR, 从左往右增张的形式

kCCProgressTimerTypeHorizontalBarRL, 从右往左增张的形式

kCCProgressTimerTypeVerticalBarBT, 从下往上增张的形式

kCCProgressTimerTypeVerticalBarTB, 从上往下增张的形式

但是在2.0版本里面没有了这么多的样式,取而代之的是:

typedef enum {

/// Radial Counter-Clockwise

kCCProgressTimerTypeRadial,

/// Bar

kCCProgressTimerTypeBar,

} CCProgressTimerType;

 

半径类型kCCProgressTimerTypeRadial和条形kCCProgressTimerTypeBar两种类型。

 

2.讲下怎么使用kCCProgressTimerTypeBar这种类型,另一种kCCProgressTimerTypeRadial使用情况也差不多。

在这里我把我做的一个demo放出来

 

[plain] view plaincopy
  1. //血条背景  
  2. CCSprite *backGroundSprite = [CCSprite spriteWithFile:@"backGround.png"];  
  3. CCProgressTimer *planeHPBKTimer = [CCProgressTimer progressWithSprite:backGroundSprite];  
  4. planeHPBKTimer.percentage = 100;  
  5. planeHPBKTimer.position = ccp(190,465);  
  6. [self addChild:planeHPBKTimer z:0];  
  7. //血条血量  
  8. CCSprite *planeHPSprite = [CCSprite spriteWithFile:@"planeHP.png"];  
  9. planeHPTimer = [CCProgressTimer progressWithSprite:planeHPSprite];  
  10. planeHPTimer.type = kCCProgressTimerTypeBar;  
  11. planeHPTimer.midpoint = ccp(0,0.5);  
  12. planeHPTimer.barChangeRate = ccp(1,0);  
  13. planeHPTimer.percentage = 100;  
  14. planeHPTimer.position = ccp(190,465);  
  15. [self addChild:planeHPTimer z:0];  
  16. [self schedule:@selector(secondUpdate) interval:1.0f];  
  17.   
  18.  - (void)secondUpdate  
  19. {  
  20.  float HP = planeHPTimer.percentage;  
  21.  HP -= 10;  
  22.  planeHPTimer.percentage = HP;  
  23. }  

 

2.0中不再是直接[CCProgressTimerprogressWithFile:****];来进行初始化,而是改用[CCProgressTimerprogressWithSprite:backGroundSprite];

在你初始化完CCProgressTimer之后记得此时的percentage属性默认值是0,如果你想让它一开始显示出来效果,要把percentage属性复制为>=0我在这里直接赋值为100

设定位置加载到当前层上。

在这里我为了看的较为明显,我用了两个CCProgressTimer,一个作为背景,一个作为血条。

前面讲到1.0中的诸多样式,再2.0里面没有了,但是我们可以通过别的途径来获得相应的效果。在血条CCProgressTimer中,大家可以看到midpoint属性我设置为ccp(0.0.5),当然它默认是在(0.50.5)的,我把他的中心点调到了左侧,因为我需要从右往左依次减少血量的效果。大家可以根据需要自行设置它的中心位置。

然后还有最重要的一个属性:barChangeRate。这个属性决定了血条怎么进行缩放,就是说以什么方式来表现血量减少的效果。它的默认值是ccp11)这种效果是当我们给血条重新设定percentage的值时它是以上下,左右各减少相应的比例来呈现效果的。而我需要的只是从右到左减少,上下不变,所以我设定barChangeRate的值为ccp10)。这样就能满足我的需求了,大家需要的也可以通过调整midpointbarChangeRate来实现。

在后在一个更新方法中每一秒钟调用一次设定血条percentage的方法,大家就可以看到血条从右到左减少的效果了~~

                             

好了,自此我需要的血条效果就出来了,大家自己试试吧,如果觉得有用,麻烦大家顶一下~

分享到:
评论

相关推荐

    cocos2d-iphone-2.0.tar.gz

    Cocos2d-iPhone是一个广泛使用的2D游戏开发框架,专为iOS设备(如...如果你解压并探索"cocos2d-iphone-2.0"目录,你会找到源代码、示例项目、文档和其他资源,这些都是学习和利用这个框架进行游戏开发的重要资料。

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    Cocos2d-JS开发之旅 从HTML 5到原生手机游戏 PDF 带书签目录 完整版

    《Cocos2d-JS开发之旅:从HTML5到原生手机游戏》是一本深入探讨Cocos2d-JS框架的书籍,旨在帮助开发者从Web前端的HTML5技术过渡到跨平台的原生手机游戏开发。Cocos2d-JS是Cocos2d-x引擎的一个分支,它结合了...

    《Cocos2d-Js开发之旅-从HTML5到原生手机游戏》完整源码

    《Cocos2d-Js开发之旅-从HTML5到原生手机游戏》是一本深入探讨Cocos2d-Js框架的书籍,旨在帮助开发者从HTML5游戏开发过渡到原生移动平台的游戏制作。Cocos2d-Js是Cocos2d-x家族的一员,是一个跨平台的、基于...

    cocos2d-iphone~cocos2d-html5移植之旅

    ### cocos2d-iphone至cocos2d-html5移植之旅:深入解析与实践指南 #### 引言 在数字化时代,跨平台游戏开发成为了一种趋势,尤其在移动设备和网页端之间的转换变得日益频繁。《cocos2d-iphone至cocos2d-html5移植...

    Cocos2d-JS游戏开发

    Cocos2d-JS是一款强大的2D游戏开发框架,它结合了JavaScript的灵活性与Cocos2d-x的高效性能,让开发者能够轻松地创建跨平台的游戏。本篇将深入探讨Cocos2d-JS的游戏开发知识,从基础到进阶,帮助你掌握这一利器。 ...

    cocos2d-x -2.0-rc2-x-2.0.1

    《cocos2d-x -2.0-rc2-x-2.0.1:跨平台手机游戏开发的强大引擎》 cocos2d-x是一个广泛使用的开源游戏开发框架,专为构建2D游戏、演示和其它图形交互应用而设计。这个框架的版本"2.0-rc2-x-2.0.1"是其发展过程中的一...

    Cocos2d-x 3.x游戏开发实战pdf含目录

    《Cocos2d-x 3.x游戏开发实战》是一本深度探讨Cocos2d-x 3.x框架的游戏开发书籍,适合对游戏编程有兴趣的开发者学习。Cocos2d-x 是一个开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android、Windows等多平台的...

    【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-扩展动作

    在iOS游戏开发中,Cocos2d-x是一个广泛使用的2D游戏引擎,其Cocos2d-iPhone版本专为Objective-C编程语言设计。本主题主要关注Cocos2d-iPhone中的“动作”(Actions)机制,这是一个强大的工具,用于创建各种动画效果...

    Cocos2d-x实战++JS卷++Cocos2d-JS开发+PDF电子书下载+带书签目录+完整

    综上所述,从文件信息中可以提取到的知识点主要涉及Cocos2d-x游戏开发框架、使用JavaScript进行游戏开发、以及电子书的下载、阅读体验和版权问题。另外,还涉及到了电子书资源的获取服务以及对应的联系方式。需要...

    基于cocos2d-2.0-x-2.0.3的游戏实例魔塔(win版)

    本文将围绕“基于cocos2d-2.0-x-2.0.3的游戏实例——魔塔(win版)”这一主题,深入探讨如何利用cocos2d-x 2.0.3版本进行游戏开发,并结合实例分析关键知识点。 首先,我们需要了解cocos2d-x 2.0.3的核心特性。这个...

    使用cocos2d-x-2.0-2.0.4开发的简单跨平台益智类魔塔小游戏

    《使用cocos2d-x-2.0-2.0.4开发的简单跨平台益智类魔塔小游戏》 cocos2d-x是一个开源的游戏开发框架,它基于C++,支持多平台,包括iOS、Android、Windows以及Mac OS等。在本项目中,开发者利用cocos2d-x 2.0.4版本...

    知易Cocos2D-iPhone开发教程源代码

    Cocos2D-iPhone是一个广泛使用的2D游戏开发框架,专为iOS平台设计。这个“知易Cocos2D-iPhone开发教程源代码”提供了一套详细的教程,旨在帮助移动开发新手快速入门游戏开发。通过学习这些源代码,开发者可以深入...

    Cocos2d-iphone 开发教程

    通过使用Cocos2d-iPhone,开发者不仅可以快速进入iOS游戏开发的状态,还能在这个过程中逐渐提升自己的技能。随着经验的增长,开发者可以逐步掌握更多高级技术和设计理念,最终成为一个全面的游戏开发者。无论是在...

    Cocos2d-JS开发之旅完整版pdf

    9. **CocosStudio的使用**:CocosStudio是Cocos2d-JS的配套工具,用于设计UI和制作动画,书中会介绍其1.6版本的使用技巧,帮助提升开发效率。 10. **调试和测试**:掌握Cocos2d-JS的调试工具和测试策略,确保游戏的...

    Cocos2d-x实战 JS卷 Cocos2d-JS开发

    Cocos2d-x是全球范围内广泛采用的游戏开发框架,尤其适用于2D游戏的制作,而Cocos2d-JS则是其JavaScript接口,它允许开发者使用JavaScript语言进行游戏逻辑的编写,极大地提高了开发效率和跨平台兼容性。 Cocos2d-x...

    cocos2d-x API中文文档

    这份API文档不仅提供了关于Cocos2d-x的基本信息,还深入到具体的技术细节,对于学习和使用cocos2d-x开发游戏的开发者来说,是非常宝贵的参考资料。通过这份文档,开发者可以了解如何利用cocos2d-x的API构建游戏场景...

    子龙山人兄弟翻译cocos2d-iphone教程.rar

    《子龙山人兄弟翻译cocos2d-iphone教程》是一个专为初学者设计的游戏开发教程,由知名开发者子龙山人及其团队...通过这个教程,你将掌握使用cocos2d-iphone开发游戏的核心技术,为自己的游戏创作之路打下坚实的基础。

    Cocos2d-js项目教程和Cocos2d-JS开发之旅 从HTML 5到原生手机游戏 PDF 带书签目录 完整版

    总的来说,"Cocos2d-js项目教程和Cocos2d-JS开发之旅"涵盖了从基础概念到高级技术的全面内容,无论你是初学者还是有一定经验的开发者,都能从中受益。通过学习,你将能够熟练运用Cocos2d-js开发出富有创新和吸引力的...

    iOS游戏应用源代码——cocos2d-cocos2d-iphone-extensions.zip

    "cocos2d-cocos2d-iphone-extensions.zip"这个压缩包包含了cocos2d-iphone的一个特定版本(e42002b)的源代码及其扩展,对于想要深入了解cocos2d-iphone的工作原理、优化游戏性能或者自定义功能的开发者来说,这是一...

Global site tag (gtag.js) - Google Analytics