欢迎来到天天文库
浏览记录
ID:34781240
大小:106.18 KB
页数:6页
时间:2019-03-10
《游戏开发引擎—cocos2d-x扣血飘字特效用完你就消失--之游戏开发《赵云要格斗》》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、游戏开发引擎—Cocos2d-x扣血飘字特效用完你就消失--之游戏开发《赵云要格斗》(8)本文检索关键词:游戏引擎,游戏开发引擎,cocos引擎html5游戏开发继上一节《Cocos2d-x碰撞检测原理与英雄要打死怪物》,本文将要实现的一个功能是怪物受伤血量减少时,会出现一个扣了多少血量的数字从怪物中间飘到头顶,然后消失。然后有两种方式,一种是每次都扣同样的数字,一种是每次在一定范围内的数字随机。Cocos2d-x版本:2.2.5工程环境:Windows7+VS2010打开方式:将工程放在Cocos2d-
2、x安装目录下的project文件夹下用VS打开效果:一、自定扣血飘字特效类FlyWord其实这里这里就是一个CCLabelTTF的类型来执行动画CCMoveBy的一个过程。下面来看看我自己定义,头文件FlyWord.h1234567891011121314151617181920#include "FlyWord.h" FlyWord* FlyWord::create(const char *word,const int fontSize,CCPoint begin){ FlyWord*
3、 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 fontSi
4、ze,CCPoint begin){ if(!CCNode::init()){ return false; } //初始化 _begin = begin; m_plabel = CCLabelTTF::create(word,"Marker Felt",fontSize); 21222324252627282930313233343536373839404142 //设置颜色 ccColor3B RGB;
5、 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()
6、 { CCMoveBy* moveact=CCMoveBy::create(0.5f,CCPointMake(0,70));//0.5秒向上移动70 43444546474849505152535455565758 //创建回调动作,文字飘动完后 CCCallFunc* callFunc=CCCallFunc::create(this,callfunc_selector(FlyWord::Flyend)); //创建连续动作 CCAct
7、ionInterval* act=CCSequence::create(moveact,callFunc,NULL); //设置可见性 this->setVisible(true); this->runAction(act); } void FlyWord::Flyend() { //完成之后设置隐藏 this->setVisible(false); //回复原位 this->setPosition(ccp(_begi
8、n.x,_begin.y)); }代码里都有非常详细的说明,这里我就不再说明了。二、使用方法在Monster.h或Monster.cpp中添加头文件#include"FlyWord.h"。下面是每次随机产生10-30的一个要减少的血量,这也是游戏中比较常见的,怪物每次的受伤量可能不一样。Monster.h添加成员变量1FlyWord *wen_zi;然后在怪物的初始化函数中加:123//扣血飘字wen_zi=FlyWord:
此文档下载收益归作者所有