Hi,推荐文件给你 "捕鱼达人练习例子(5).zip" http://vdisk.weibo.com/s/J1Xg8
Weapon.h
#include "Cannon.h" #include "Bullet.h" #include "FishingNet.h" USING_NS_CC; enum { k_Weapon_Status_None = 0, k_Weapon_Status_Bullet, k_Weapon_Status_FishingNet }; class Weapon:public CCNode { public: static Weapon* create(CannonType type = k_Cannon_Type_1); bool init(CannonType type = k_Cannon_Type_1); //声明三个对象 CC_SYNTHESIZE_READONLY(Cannon*, _cannon, Cannon); CC_SYNTHESIZE_READONLY(Bullet*, _bullet, Bullet); CC_SYNTHESIZE_READONLY(FishingNet*, _fishingNet, FishingNet); //获取炮塔的类型留着以后实现 int getCannonType(); };
Weapon.cpp代码如下:
#include "StaticData.h" USING_NS_CC; Weapon* Weapon::create(CannonType type) { Weapon* weapon = new Weapon(); weapon->init(type); weapon->autorelease(); return weapon; } bool Weapon::init(CannonType type) { bool pRet = false; do { _cannon = Cannon::create(); this->addChild(_cannon); _bullet = Bullet::create(); _bullet->setVisible(false); this->addChild(_bullet); _fishingNet = FishingNet::create(); _fishingNet->setVisible(false); this->addChild(_fishingNet); pRet = true; } while (0); return pRet; }