这里是Evankaka的博客,欢迎大家前来讨论与交流~~~~~~

转载请注明出处http://blog.csdn.net/evankaka/article/details/42740575

本文这里将要实现的一个功能是怪物受伤血量减少时,会出现一个扣了多少血量的数字从怪物中间飘到头顶,然后消失。本文上接博主的文章http://blog.csdn.net/evankaka/article/details/42689689

cocos2d-x版本:2.2.5

工程环境:windows7+VS2010

打开方式:将工程放在cocos2d-x安装目录下的project文件夹下用VS打开

(源码免费下载)

效果:

目录

一、自定扣血飘字特效类FlyWord

二、使用方法

三、思路总结


一、自定扣血飘字特效类FlyWord

其实这里这里就是一个CCLabelTTF的类型来执行动画CCMoveBy的一个过程

下面来看看我自己定义,头文件FlyWord.h

<pre name="code" class="cpp">#include "FlyWord.h"
FlyWord* FlyWord::create(const char *word,const int fontSize,CCPoint begin){FlyWord* ret = new FlyWord();//这样写更安全一些if(ret && ret->init(word,fontSize,begin)){ret->autorelease();return ret;}CC_SAFE_DELETE(ret);//安全删除return nullptr;
}bool FlyWord::init(const char *word,const int fontSize,CCPoint begin){if(!CCNode::init()){return false;}//初始化_begin = begin;m_plabel = CCLabelTTF::create(word,"Marker Felt",fontSize);//设置颜色ccColor3B RGB;RGB.r=255;RGB.g=0;RGB.b=0;m_plabel->setColor(RGB);this->addChild(m_plabel);this->setPosition(ccp(begin.x,begin.y));//初始化完成不可见this->setVisible(false);return true;
}//文字从下到上飘动
void FlyWord::Flying()
{CCMoveBy* moveact=CCMoveBy::create(0.5f,CCPointMake(0,70));//0.5秒向上移动70//创建回调动作,文字飘动完后CCCallFunc* callFunc=CCCallFunc::create(this,callfunc_selector(FlyWord::Flyend));//创建连续动作CCActionInterval* act=CCSequence::create(moveact,callFunc,NULL);//设置可见性this->setVisible(true);this->runAction(act);}
void FlyWord::Flyend()
{//完成之后设置隐藏this->setVisible(false);//回复原位this->setPosition(ccp(_begin.x,_begin.y));
}

代码里都有非常详细的说明,这里我就不再说明了

二、使用方法

在Monster.h中添加头文件#include "FlyWord.h"

下面是每次随机产生10-30的一个要减少的血量,这也是游戏中比较常见的,怪物每次的受伤量可能不一样。

Monster.h添加成员变量

FlyWord *wen_zi;

然后在怪物的初始化函数中加:

//扣血飘字

wen_zi=FlyWord::create("-10",30,CCPointMake(0,0));//放在当前怪物的锚点位置,

this->addChild(wen_zi,2);

然后在相应的地方调用函数Flying();

//受伤动画结束
void Monster::HurtEnd()
{IsHurt=false;//文字飘动wen_zi->Flying();//怪物掉血Monster_xue->setCurrentProgress(Monster_xue->getCurrentProgress()-10);if(Monster_xue->getCurrentProgress()==0){//播放怪物死亡动画DeadAnimation("monster_dead",2,MonsterDirecton);}
}

固定掉血,文字从下到上

三、思路总结

主要是这个文字类的设计,这里我的思路的得到英雄的位置,然后CCLabelTTF对像就从英雄的中间位置开始向上移动,执行动画CCMoveBy的一个过程移动写成后它就自己隐藏并且回复原位,。用完一次隐藏并且回复原位了,然后等到怪物掉血了,再用,用完隐藏并且回复原位,多方便!

Cocos2d-x扣血飘字特效用完你就消失--之游戏开发《赵云要格斗》(8)相关推荐

  1. Cocos2d-X 3.4版-扣血飘字 《赵云要格斗》

    飘字的原理很简单,就是让一个Label不管它是什么颜色,让它上升到一定的高度,当然在 上升的过程中,要做一些左右移动啊,扭动啊等等动作,最后在上升结束后消失.当然要当时 被血量的信息. FlyWord ...

  2. 【Cocos2dx】飘字特效与碰撞检测

    飘字特效主要常见与游戏里面的掉血表示伤害输出等.碰撞检测常见于一些横版过关或者跑酷的手游,判断是否有碰到食物,或者什么障碍物等,都是比较常见的功能,下面就用一个小例子,来说明这两个特效如何完成. 如下 ...

  3. 【cocos2d-x 3.7 飞机大战】 决战南海I (九) 飘字特效

    之前在一个闯关游戏中第一次接触飘字效果,因为那个游戏没有发教程,所以在这里介绍下飘字效果 class FlowWord :public Node { public:FlowWord();~FlowWo ...

  4. [Unity][Animator][UGUI]伤害飘字跟随角色不停的移动

    在相关资料1的基础上实现,伤害飘字 特效 跟随 玩家角色. 逻辑图 UIFollowManage using System.Collections.Generic; using UnityEngine ...

  5. 【unity造轮子】伤害飘字效果,封装代码

    先看最终效果 创建一个飘字特效预制体 具体的大小按自己喜好设置 封装资源管理器 记得挂载飘字特效预制体 using UnityEngine;//资源管理器 public class ResourceM ...

  6. [Unity][Animationamp;amp;Animator][特效]伤害飘字

    角色受到伤害,伤害数值 在角色头顶 飘字. 有几种实现方法: 1.DOTWEEN 2.Unity自带的Animation&Animator 本文着重讲第2种实现方法. 设置Animator 的 ...

  7. Unity 战斗飘字飘血 ShootTextPro

    前言,写了一个小工具,主要就是战斗中对应的飘字,源码相应的注释已经标注,非常方便自定义改动,其中ShootTextProController可以做成单例,传入对应的tranform即可,为了展示示例, ...

  8. 26_ue4进阶末日生存游戏开发[僵尸添加动画和扣血效果]

    给僵尸npc添加动画和扣血效果 首先新建一个动画文件夹 新建一个动画蓝图 一般只要是不做汽车啊等模型,我们一般选Animinstance 因为僵尸是女英雄,所以我们选择女英雄的动画 重命名Zombie ...

  9. Unity 游戏飘字(伤害、状态等)

    3d游戏中,角色或敌人受到伤害或者BUFF等处理需要特效,还需要飘字.下面将使用Unity预设来做飘字效果. 1.创建prefab(可以创建多种),以伤害为例: 2.飘字管理器: using Syst ...

最新文章

  1. python教程:filter,map,reduce
  2. 什么时候使用mysql触发器_MySQL触发器的使用
  3. LeetCode 433. 最小基因变化(广度优先搜索)
  4. snowflake做主键 自增_自增ID算法snowflake - C#版
  5. 实例带你掌握如何分解条件表达式
  6. AndroidStudio_安卓原生开发_sharedpreferences清空---Android原生开发工作笔记150
  7. 20145304 第十周学习报告
  8. 18. Magento 细节
  9. WebService高级,可靠消息
  10. 安卓双进程保活的代码
  11. 《迎接互联网的明天——玩转3D Web》
  12. 用c#实现拍拍抢拍精灵实现过程--核心代码--腾讯qq拍拍网秒杀器代码
  13. 【ARM】Linux驱动移植
  14. ESXI 中的虚拟机导出到本地
  15. How to do research?
  16. java反射 枚举_Java反射应用之获取枚举类的枚举
  17. arping 的特殊用法
  18. html背景音乐自动播放embed,怎样在网页中插入背景音乐(自动播放代码).doc
  19. 字节跳动:抖音、西瓜、火山区别
  20. idea2020shezhi代码检查级别_GitLab 13.1:告警管理扩展,新代码质量工具和安全合规等...

热门文章

  1. 室内定位UWB技术在工业场景的潜力几何?
  2. 谷粒商城项目8——商品上架 上架商品sku保存到es nginx配置
  3. oracle日记账导出,OracleEBSR12GL日记账业务操作01:日记账批录入
  4. LC463. 岛屿的周长
  5. U启动后计算机能看到原系统文件吗,u启动一键急救系统使用
  6. 《高效能人士的7个习惯》-知彼解己
  7. 在html中怎么写背景色渐变,CSS 实现背景色渐变和文字颜色渐变(示例代码)
  8. Android选项卡
  9. AI Gossip - 人工智能背后的小故事
  10. java3d点线面_3D游戏与计算机图形学中的数学方法-点线面