创建敌人基类
来源:互联网 发布:stc单片机pwm控制舵机 编辑:程序博客网 时间:2024/04/28 12:20
class EnemyBase : public Sprite { public: virtual bool init() override; CREATE_FUNC(EnemyBase); Animation* createAnimation(std::string prefixName, int framesNum, float delay); void changeDirection(float dt); Node* currPoint(); Node* nextPoint(); void runFllowPoint(); void setPointsVector(Vector<Node*> points); private: Vector<Node*> pointsVector; protected: int pointCounter; Animation *animationRight; Animation *animationLeft; CC_SYNTHESIZE(float, runSpeed, RunSpeed); };
//实现Node* EnemyBase::currPoint() { return this->pointsVector.at(pointCounter); } Node* EnemyBase::nextPoint() { int maxCount = this->pointsVector.size(); pointCounter++; if (pointCounter < maxCount ){ auto node =this->pointsVector.at(pointCounter); return node; } else{ pointCounter = maxCount -1 ; } return NULL; }
//小偷是敌人要继承敌人基类class Thief : public EnemyBase { public: virtual bool init() override; static Thief* createThief(Vector<Node*> points); };
//在基类已经给出了敌人的各种逻辑方法,所以在Thief中,我们只需要初始化变量,实现具体的方法,就可以实现一个很普通的敌人了。 bool Thief::init() { if (!Sprite::init()) { return false; } // 1 setRunSpeed(6); animationRight = createAnimation("enemyRight1", 4, 0.1f); AnimationCache::getInstance()->addAnimation(animationRight, "runright"); animationLeft = createAnimation("enemyLeft1", 4, 0.1f); AnimationCache::getInstance()->addAnimation(animationLeft, "runleft"); // 2 schedule(schedule_selector(EnemyBase::changeDirection), 0.4f); return true; }
//创建小偷的接口函数Thief* Thief::createThief(Vector<Node*> points) { Thief *pRet = new Thief(); if (pRet && pRet->init()) { // 设置小偷的路径点集 pRet->setPointsVector(points); // 让小偷沿着路径点移动 pRet->runFllowPoint(); pRet->autorelease(); return pRet; } else { delete pRet; pRet = NULL; return NULL; } }
0 0
- 创建敌人基类
- 2.8.1 创建敌人
- 敌人
- Unity3D--创建敌人和玩家之间的AI
- U3D开发点滴-敌人基础类
- pygame编写飞机大战(7)-敌人飞机类
- 敌人选择
- 4.7敌人
- 敌人跟随
- 消灭敌人
- 敌人死亡
- 时间敌人
- 2.5.3 创建子弹;2.5.4创建子弹Prefab;2.5.5发射子弹;2.6 创建敌人;2.7.1 添加碰撞体
- C#基础-041 设计一个玩家类,一个敌人类, 玩家可以攻击敌人,敌人可以攻击玩家,攻击点合理设计,可以通过随机数产生,模拟战斗过程
- 一个小游戏的几个关键类(敌人的移动类型)
- unity官方demo学习之Stealth(二十一)敌人动画设置类
- 软件项目的敌人
- 微软的真正敌人
- java的13种核心技术
- Linux中使用Boxes安装windows7
- Linux入门回顾
- 物理引擎一
- 在Android xml布局中提示
- 创建敌人基类
- cocos2d-x 帧动画创建一
- 《Qt5学习笔记2》第一个Qt5程序Hello Qt!
- eclipse开发环境打造系列----->Python开发环境集成
- GitHub学习
- 学习笔记
- eclipse启动报错
- int main(int argc,char * argv)详解
- Intent(意图)转跳页面