该章节主要介绍防御塔的基本性质和制作思路
首先我们定义一个防御塔的基类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(){};//升级防御塔(基础升级)
vir