该章节介绍如何制作敌人
首先根据可能出现的情况定义一个枚举类型,包括了敌人可能出现的所有状态,将在以后用到
typedef enum{
stateNone = 0, //无状态
stateWalkRight, //向右走走状态
stateWalkLeft, //向左走
stateWalkUp, //向上走
stateWalkDown, //向下走
stateAttackLeft,
stateAttackRight, //攻击
stateDeath,//死亡
stateFrozen
}MonsterState;
CC_SYNTHESIZE一些可能用到的属性,例如生命值、攻击力,此处略
生成敌人生命条,是一个ProgressTimer
void BaseMonster::createAndSetHpBar()
{
hpBgSprite = Sprite::createWithSpriteFrameName("lifebar_bg_small.png");
hpBgSprite->setPosition(Point(baseSprite->getContentSize().width / 2, baseSprite->getContentSize().height ));
baseSprite->addChild(hpBgSprite);
hpBar = ProgressTimer::create(Sprite::createWithSpriteFrameName("lifebar_small.png"));
hpBar->setType(ProgressTimer::Type::BAR);
hpBar->setMidpoint(Point(0, 0.5f));
hpBar->setBarChangeRate(Point(1, 0));
hpBar->setPercentage(hpPercentage);
hpBar->setPosition(Point(hpBgSprite->getContentSize().width / 2, hpBgSprite->getContentSize().height / 2 ));
hpBgSprite->addChild(hpBar);
}
因为是