Cocos2d-x扣血飘字特效用完你就消失--之游戏开发《赵云要格斗》(8)
这里是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)相关推荐
- Cocos2d-X 3.4版-扣血飘字 《赵云要格斗》
飘字的原理很简单,就是让一个Label不管它是什么颜色,让它上升到一定的高度,当然在 上升的过程中,要做一些左右移动啊,扭动啊等等动作,最后在上升结束后消失.当然要当时 被血量的信息. FlyWord ...
- 【Cocos2dx】飘字特效与碰撞检测
飘字特效主要常见与游戏里面的掉血表示伤害输出等.碰撞检测常见于一些横版过关或者跑酷的手游,判断是否有碰到食物,或者什么障碍物等,都是比较常见的功能,下面就用一个小例子,来说明这两个特效如何完成. 如下 ...
- 【cocos2d-x 3.7 飞机大战】 决战南海I (九) 飘字特效
之前在一个闯关游戏中第一次接触飘字效果,因为那个游戏没有发教程,所以在这里介绍下飘字效果 class FlowWord :public Node { public:FlowWord();~FlowWo ...
- [Unity][Animator][UGUI]伤害飘字跟随角色不停的移动
在相关资料1的基础上实现,伤害飘字 特效 跟随 玩家角色. 逻辑图 UIFollowManage using System.Collections.Generic; using UnityEngine ...
- 【unity造轮子】伤害飘字效果,封装代码
先看最终效果 创建一个飘字特效预制体 具体的大小按自己喜好设置 封装资源管理器 记得挂载飘字特效预制体 using UnityEngine;//资源管理器 public class ResourceM ...
- [Unity][Animationamp;amp;Animator][特效]伤害飘字
角色受到伤害,伤害数值 在角色头顶 飘字. 有几种实现方法: 1.DOTWEEN 2.Unity自带的Animation&Animator 本文着重讲第2种实现方法. 设置Animator 的 ...
- Unity 战斗飘字飘血 ShootTextPro
前言,写了一个小工具,主要就是战斗中对应的飘字,源码相应的注释已经标注,非常方便自定义改动,其中ShootTextProController可以做成单例,传入对应的tranform即可,为了展示示例, ...
- 26_ue4进阶末日生存游戏开发[僵尸添加动画和扣血效果]
给僵尸npc添加动画和扣血效果 首先新建一个动画文件夹 新建一个动画蓝图 一般只要是不做汽车啊等模型,我们一般选Animinstance 因为僵尸是女英雄,所以我们选择女英雄的动画 重命名Zombie ...
- Unity 游戏飘字(伤害、状态等)
3d游戏中,角色或敌人受到伤害或者BUFF等处理需要特效,还需要飘字.下面将使用Unity预设来做飘字效果. 1.创建prefab(可以创建多种),以伤害为例: 2.飘字管理器: using Syst ...
最新文章
- python教程:filter,map,reduce
- 什么时候使用mysql触发器_MySQL触发器的使用
- LeetCode 433. 最小基因变化(广度优先搜索)
- snowflake做主键 自增_自增ID算法snowflake - C#版
- 实例带你掌握如何分解条件表达式
- AndroidStudio_安卓原生开发_sharedpreferences清空---Android原生开发工作笔记150
- 20145304 第十周学习报告
- 18. Magento 细节
- WebService高级,可靠消息
- 安卓双进程保活的代码
- 《迎接互联网的明天——玩转3D Web》
- 用c#实现拍拍抢拍精灵实现过程--核心代码--腾讯qq拍拍网秒杀器代码
- 【ARM】Linux驱动移植
- ESXI 中的虚拟机导出到本地
- How to do research?
- java反射 枚举_Java反射应用之获取枚举类的枚举
- arping 的特殊用法
- html背景音乐自动播放embed,怎样在网页中插入背景音乐(自动播放代码).doc
- 字节跳动:抖音、西瓜、火山区别
- idea2020shezhi代码检查级别_GitLab 13.1:告警管理扩展,新代码质量工具和安全合规等...
热门文章
- 室内定位UWB技术在工业场景的潜力几何?
- 谷粒商城项目8——商品上架 上架商品sku保存到es nginx配置
- oracle日记账导出,OracleEBSR12GL日记账业务操作01:日记账批录入
- LC463. 岛屿的周长
- U启动后计算机能看到原系统文件吗,u启动一键急救系统使用
- 《高效能人士的7个习惯》-知彼解己
- 在html中怎么写背景色渐变,CSS 实现背景色渐变和文字颜色渐变(示例代码)
- Android选项卡
- AI Gossip - 人工智能背后的小故事
- java3d点线面_3D游戏与计算机图形学中的数学方法-点线面