cocos2d-x 3.2 |塔防游戏之 加载npc
塔防游戏NPC加载方式:我们先来定义一个npc类
#include "cocos2d.h"
#include "MyPoint.h"
using namespace cocos2d;
class Enemy:public Node{
private:
Vector<MyPoint *> allP;//每个点的坐标
public:
int ex,ey;
int hp;
CREATE_FUNC(Enemy);
int curPoint;//当前的点
int countPoint;//总共的点
static Enemy * createEnemy(int etype,Vector<MyPoint *> &ap);
bool init();
void moveTo();//定时任务,移动到目标点
void sHp();//减少血
};
在游戏场景中初始化该newEnemy(计划任务)
this->schedule(schedule_selector(GameScene::newEnemy), 5);//5秒产生一个怪物
接着我们需要在游戏场景头文件GameScene中加入 void GameScene::newEnemy(float t) 方法的定义
最后实现它:
void GameScene::newEnemy(float t){
int type=random()%3+1;//出生概率
auto newEnemy=Enemy::createEnemy(type, allPoint);
this->addChild(newEnemy,1);//添加到当前的图层
allEnemy.pushBack(newEnemy);//弹出
}