该章节主要介绍兵营塔中的士兵
上一章讨论到兵营塔,兵营塔的关键在于士兵,士兵的一切动作,包括升级都在士兵类中完成,代码部分在Soilder文件夹中。
士兵的类型多种多样,不光兵营塔有士兵,法师塔与炮塔在升级到4级后均可以产生出一种士兵
typedef enum{
SoldierStateNone = 0, //无状态
SoldierStateRun,//行走
SoldierStateHit, //攻击
SoldierStateDeath,//死亡
SoldierStateWait,//寻找敌人
SoldierStateSkill1,
SoldierStateSkill2
}SoldierState;
class BaseSoldier : public Sprite
{
public:
CC_SYNTHESIZE(float, maxHp, MaxHp);
CC_SYNTHESIZE(float, currHp, CurrHp);
CC_SYNTHESIZE(float, force, Force);
CC_SYNTHESIZE(float, armor, Armor);
CC_SYNTHESIZE(float, hpPercentage, HpPercentage);
CC_SYNTHESIZE(SoldierState, state, State);
CC_SYNTHESIZE_READONLY(ProgressTimer*, hpBar, HpBar);
CC_SYN

这篇博客深入探讨了Cocos2d-x游戏引擎在开发塔防游戏《王国保卫战》中,如何设计和实现兵营塔的士兵行为。士兵的创建、升级和攻击逻辑集中在士兵类中,通过runToLocation方法移动至目标位置并等待,再通过lookingForMonsters定时检测敌人。不同类型的士兵通过复写attackMonster方法实现独特攻击效果,如坦克车的导弹攻击。
475

被折叠的 条评论
为什么被折叠?



