该章节主要介绍防御塔的基本性质和制作思路
首先我们定义一个防御塔的基类BaseTower
class BaseTower: public Sprite
我们要先确定一个塔所具备的属性,这些可以根据自己所设计的游戏需要来自行定义,例如:
CC_SYNTHESIZE(TowerType, towerType, TowerType); //类型
CC_SYNTHESIZE(Terrain*, myTerrain, MyTerrain); //建造点
CC_SYNTHESIZE(std::string, towerName, TowerName); //名称
CC_SYNTHESIZE(int, level, Level);//等级
CC_SYNTHESIZE(float, scope, Scope);//范围
CC_SYNTHESIZE(float, nextScope, NextScope);//升级后范围
CC_SYNTHESIZE(float, rate, Rate);//攻击速度
CC_SYNTHESIZE(int, force, Force);//攻击力
CC_SYNTHESIZE(int, updateMoney, UpdateMoney);//升级所需金钱
CC_SYNTHESIZE(int, buildMoney, BuildMoney);//售出时返还金钱
然后定义一些可能出现的公共方法,在不同的防御塔子类中实现:
public:
virtual void updateTower(){};//升级防御塔(基础升级)
virtual void sellTower();//售卖防御塔
virtual void removeTo

本文聚焦Cocos2d-x 3.x中塔防游戏《王国保卫战》的防御塔设计,从防御塔基类BaseTower开始,详细阐述其属性设定,包括攻敌策略和触摸事件响应。文中提及防御塔的射击逻辑,指出不同类型的塔(如炮塔、弓箭塔、法师塔)仅在攻击动画和轨迹计算上有差异,并预告兵营塔的特殊性将在后续章节讨论。
最低0.47元/天 解锁文章

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



